Java应用高CPU排查
1、命令top查看高CPU应用的PID(进程ID)。
2、命令ps查询线程ID,awk处理数据,并将TID(线程ID)转换成16进制展示
1 | ps -mp pid -o THREAD,tid,time | awk '$2 > 30 {printf("%s \t %x\n",$0,$8)}' |
命令中的30表示CPU使用率超过30%。
3、命令jstack查询高CPU线程栈。
1 | jstask PID |grep -A 30 TID |
PID是第一步查询到的高CPU进程ID。TID是第二步中高CPU线程ID,这里要用转换过的16进制字符串。-A 30 表示显示找到TID之后的30行。
(配图非事故现场图[呲牙])

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jona's Blog!












