1.使用top命令找出CPU占比最高的后台程序

linux服务器CPU占用过高的定位分析思路

根据下图可以看出cpu占比最高的后台程序是java

linux服务器CPU占用过高的定位分析思路

2.通过命令:ps -ef|grep java|grep -v grep定位后台程序PID

linux服务器CPU占用过高的定位分析思路

根据下图可以看出占用最高的后台程序PID=17023

3.定位具体的线程或者代码,使用命令:ps -mp 17023 -o THREAD,tid,time

linux服务器CPU占用过高的定位分析思路

根据下图可以看出占用最高的线程ID=8032

linux服务器CPU占用过高的定位分析思路

4.将10进制的线程ID转换成16进制(16进制线程ID小写),使用命令:printf "%x\n" 8032

linux服务器CPU占用过高的定位分析思路

5.查看线程的运行轨迹,使用命令:jstack 17023|grep 1f60 -A60

linux服务器CPU占用过高的定位分析思路

linux服务器CPU占用过高的定位分析思路

找到项目中自己写的方法,如上图BossOrderToEcrpServiceImpl.java类348行,这就是占用cpu比较高的代码;

如果那里问题,请大佬指出,谢谢!

相关文章: