CPU占用过高定位分析

1.先用top命令找出CPU占用最高的
(或者使用精简命令:uptime,主要查看结果中的load average)
2.使用ps -ef|grep或者jps(jps -l)进一步定位
ps -ef|grep java|grep -v grep
3.定位到具体线程或代码
ps -mp 进程ID -o THREAD,tid,time
=> -m:显示所有线程
-p:pid 进程使用cpu的时间
-o:该参数后是用户自定义格式
4.将需要的线程ID转换成16进制(英文小写)
printf "%x " 进程ID 或者计算器直接转换,百度也可以
5.jstack 进程ID | grep tid(16进制小写线程ID) -A60(前60行)

原文地址:https://www.cnblogs.com/zhangyuanbo/p/14132728.html