1、 先拿到tomcat进程ID
ps –ef | grep tomcat
记录下tomcat应用进程的ID: 30027(我拿到的是这个值)
2、 拿到CPU占用最高、时间最长的线程ID
# 显示进程号为30027的进程信息,CPU、内存占用率等,
top -H -p 30027
当然这一步你也可以使用以下这个命令,显示特定PID下全部线程列表,以定位到是哪个线程占用CPU时间最高:
ps -mp pid -o THREAD,tid,time
3、 将需要的线程ID转换为16进制格式
printf "%x\n" 18521
得到结果:73c1(这里我只查看了18521这个线程ID)
4、打印线程的堆栈信息
jstack 30027 |grep 73c -A 30