Java程序CPU持续飙高,如何排查? 先top找下占用cpu最高的线程获取进程使用cpu最高的线程将线程ID转为十六进制jstack工具跟踪堆栈定位代码 #Java #故障排查 #Linux 先top找下占用cpu最高的线程 top 获取进程使用cpu最高的线程 top -Hp 2147671(进程号) 将线程ID转为十六进制 printf “0x%x” 2148212 jstack工具跟踪堆栈定位代码 jstack 2147671 | grep 0x1f5940 -A 5 我这边是放着线程池中处理了,所以会有线程池的名称“thread-task-updateKline-1m” 你代码写的好的话,这里可以直接定位到你代码的行数。 -A 5 的意思是定位当前位置的以下5行信息。