服务器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