您的位置:首页 > 运维架构 > Linux

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算

2013-07-08 18:25 483 查看
转自:http://blog.csdn.net/chen3888015/article/details/7432868

可以用下面的命令将 cpu 占用率高的线程找出来:
 ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

这个命令首先指定参数'H',显示线程相关的信息,格式输出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%cpu字段进行排序。这样就可以找到占用处理器的线程了。

直接使用 ps Hh -eo pid,tid,pcpu | sort -nk3 |tail 获取对于的进程号和线程号,然后跳转到3.

查看哪个进程线程占用cpu过高; top / ps -aux, 获得进程号

确定哪个线程占用cpu过高,进入进程号的目录:/proc/pid/task, 

执行:grep SleepAVG  **/status  | sort -k2,2 | head,  确定cpu占用较高的线程号。

使用kill -3 pid 会打印线程堆栈的情况

在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率。但是无法显示每个线程的 cpu 利用率情况,这时就可能出现这种情况,总的 cpu 利用率中 user 或 system 很高,但是用进程的 cpu 占用率进行排序时,没有进程的 user 或 system 与之对应。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: