CPU到达100%的排查
一、先进服务器,⽤top -c 命令找出当前进程的运⾏列表,如下:
二、然后我们需要根据PID 查出CPU⾥⾯消耗最⾼的进程
使⽤命令 top -Hp 2609 找出这个进程下⾯的线程,继续按P排序
可以看到 2854 CPU消耗最⾼
2854是⼗进制的,我们需要转换为⼗六进制,转换结果:b26
温馨提醒:进制转换在线工具很多,如:
进制转换地址
三、接下来就需要导出我们的进程快照了,看看这个线程干了什么动作,
jstack -l 2609 > ./2609.stack
备注:2609是上面的进程PID
四、再⽤grep查看⼀下线程在⽂件⾥做了啥
我这⾥就随便定位⼀个,基本上这样查都可以定位到你死循环的那个类,具体情况具体分析,一般知道所在类和对应的行,去分析就好了,小问题。