0、top
1、查看占用cpu大的进程
jps -l 或者 ps -ef|grep java|grep -v grep
eg:
2、定位到具体线程或代码
ps -mp 5101(进程id) -o THREAD(进程),tid ,time
参数说明
-m:显示所有的线程
-p :pid进程使用的cpu的时间
-o:该参数后是用户自定义格式
3、将需要的线程id转换为16进制格式(英文小写格式)
例如:3929转为16进制为f59
等价于 printf "%x\n" 有问题的线程id
4、打印出进程id为对应线程id对应的前60行
jstack 进程id | grep tid f59(16进制线程id小写英文) -A60