Java程序CPU持续飙高,如何排查?_java

Java程序CPU持续飙高,如何排查?_16进制_02

要定位这个java进程当中使用cpu最高的线程。 使用top -Hp  java进程PID

Java程序CPU持续飙高,如何排查?_java_03

拿到线程的pid之后,将其转化为16进制

之后使用jstack定位有问题代码所在的行。jstack后面接上进程的pid,这样就通过jstack跟踪堆栈,通过grep从堆栈中获取相应的信息。

Java程序CPU持续飙高,如何排查?_16进制_04

这样可以定位在哪个文件,第几行代码。