Java线上应用故障之CPU占用高排查与定位

时间:2021-11-29 13:59:53

最近线上频繁报警CPU空闲不足,故紧急排查后分享给大家

1、使用top命令,获取占用CPU最高的进程号

Java线上应用故障之CPU占用高排查与定位

2、查看线程号对应的进程信息

命令:ps -ef|grep 22630

Java线上应用故障之CPU占用高排查与定位

3、查看进程对应的线程信息

命令:ps -mp22630-oTHREAD,tid,time | sort -nr| head -15

Java线上应用故障之CPU占用高排查与定位

4、选取第一个线程号,转换成16进制

命令:printf "%x" 22657

结果:5881

5、使用jstack查询出具体的线程状态

命令:jstack 22630|grep 5881 -A 30

Java线上应用故障之CPU占用高排查与定位

通过这些线程状态便可基本定位问题之所在