Java 应用JVM CPU 过高怎么排查
- 第一步通过使用
top
命令来查看%CPU
高的PID
进程号为 26485
top
- 第二步通过
top -H -p 加进程ID
查出该进程下(26485)CPU使用率过高的线程ID为 26570
top -H -p 26485
- 第三步通过
jstack -l 加进程ID
查看JVM虚拟机当前时刻下的线程信息,用grep去匹配查找该线程信息
jstack -l 26485 | grep 67CA -A50 # -A50 表示查看最后50行信息
从上图可以看到已经定位到我们的代码行数了:
然后接下来就是review我们的代码,定位问题,解决问题。
注意:需要把第二步中查出来的线程ID转换为 十六进制的线程ID,即 将 26570 => 67CA
本文来自博客园,作者:LoremMoon,转载请注明原文链接:https://www.cnblogs.com/hello-cnblogs/p/16790172.html