Linux top

转载请注明来源:https://www.cnblogs.com/hookjc/


Linux top - 一叶偏舟 - jiangcheng 的博客

  top 是linux系统中查看CPU使用情况命令,其中第三行、四行是各CPU的使用情况(多核CPU,进入top视图后按“1”)。

   us:表示用户进程处理所占的百分比。

   sy:表示系统内核线程处理所占的百分比。

   ni:表示被"nice"命令改变优先级的任务所占百分比。

   id:表示空闲时间所占的百分比。

   wa:表示在执行过程中等待IO所占的百分比。

   hi:表示硬件中断所占的百分比。

   si:表示软件中断所占百分比。

PS:Llinux(Linux System and NetWork Performance Monitoring)

                          建议用户进程的CPU消耗比率应该在 65%-70%

                          内核的CPU消耗比率应该为30%-35% 

us

us 值过高,表示运行的应用消耗了大部分的 CPU ,如下是找出具体消耗 CPU 的线程的办法:

首先通过 top 或 pidstat 命令找出消耗 CPU 严重严重的线程及其 ID ,将些 ID 转化为十六进制的值。之后通过kill -3 [javapid] 或 jstack 的方式 dump 出应用的 java 线程信息,通过之前转化的十六进制的值找到对应的 nid 值的线程。该线程即为消耗 CPU 的线程。可多执行几次上述过程,以确保找到真实的消耗 CPU 的线程。

sy

sy 值高时,表示系统花费了更多的时间在进行线程切换, JAVA 应用造成这种现象的主要原因是启动的线程比较多,且这些线程多数都处于不断的阻塞和执行状态的变化过程中,导致系统不断的切换线程,产生大量的上下文切换。

来源:python脚本自动迁移

posted @ 2020-06-23 19:42  jiangcheng_15  阅读(164)  评论(0编辑  收藏  举报