Java 应用JVM CPU 过高怎么排查

  1. 第一步通过使用 top 命令来查看 %CPU 高的 PID 进程号为 26485
top

  1. 第二步通过 top -H -p 加进程ID 查出该进程下(26485)CPU使用率过高的线程ID为 26570
top -H -p 26485

  1. 第三步通过 jstack -l 加进程ID 查看JVM虚拟机当前时刻下的线程信息,用grep去匹配查找该线程信息
jstack -l 26485 | grep 67CA -A50 # -A50 表示查看最后50行信息

从上图可以看到已经定位到我们的代码行数了:

然后接下来就是review我们的代码,定位问题,解决问题。

注意:需要把第二步中查出来的线程ID转换为 十六进制的线程ID,即 将 26570 => 67CA

posted @ 2022-10-14 00:05  LoremMoon  阅读(151)  评论(0编辑  收藏  举报