服务器CPU 100% 原因排查

2018-11-19  本文已影响0人  JavaHub

找到最耗CPU的进程

* top -c ,显示进程运行信息列表
* 键入P (大写p),进程按照CPU使用率排序

找出最耗CPU线程

* top -Hp 10765(上面命令查询到进程号) ,显示一个进程的线程运行信息列表
* 键入P (大写p),线程按照CPU使用率排序

将线程PID转化为16进制

* printf “%x\n” 10804
* 结果: 0x7a0a
* 备注:之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的。

查看堆栈,找到线程在干嘛

* 工具 pstack/jstack/grep
* jstack 10765 | grep ‘0x2a34’ -C5 --color
* 打印进程堆栈,通过线程id,过滤得到线程堆栈
1542607996(1).png

分析程序线程对应代码

上一篇下一篇

猜你喜欢

热点阅读