使用JDK 自带jstack工具排查问题
注意需要检查jdk 是否
有 jstack 命令,命令在jdk/bin 目录下

1、 先拿到tomcat进程ID,用top -c 找到cpu使用率最高的 的PID
top -c

记录下tomcat应用进程的ID: 24596(我拿到的是这个值)
2、 拿到CPU占用最高、时间最长的线程ID top -H -p pid
top -H -p 24596

3、 将需要的线程ID转换为16进制格式 如: 21893 这个线程
printf "%x\n" 24602

得到结果:601a(这里我只查看了1852这个线程ID)
4、打印线程的堆栈信息 前30行 jstack pid| grep 601a -A 30
jstack 24596 | grep 601a -A 30

浙公网安备 33010602011771号