Java运维实战:问题定位-CPU突增排查
java程序最常见的故障场景就是CPU徒增的情况了,本片文章为你讲解java程序CPU突增的情况怎么进行排查
1、获取CPU消耗高的线程ID
top -Hp 进程ID
然后输入大写P(shift+p),就会将这个进程下的线程按照CPU消耗进行排序展示。
举例
然后获取CPU消耗最大的线程ID
2、打线程dump
jstack 进程ID >threaddump.txt
3、将线程ID转换为16进制
printf "%x\n" 365 【第一步得到的消耗CPU高的线程ID】
得到16进制为16d
4、获取CPU消耗高的线程堆栈
然后再线程dump文件【threaddump.txt】中搜索【16d】就可以找到对应该线程的堆栈信息,从而定位到异常代码