Java线上CPU100% 问题排查

操作系统:centos7
这里我们模拟一个CPU占用100%的程序,程序很简单死循环 。

Java线上CPU100% 问题排查

文章插图
 
运行该程序,然后通过top命名查看:
Java线上CPU100% 问题排查

文章插图
 
找到执行CPU占用高的JAVA进程,对应的PID为510
接着使用如下命令查看具体是哪个线程执行CPU过高
【Java线上CPU100% 问题排查】top -Hp 510
-H:显示线程信息
Java线上CPU100% 问题排查

文章插图
 
这里发现PID为511的线程执行CPU占用过高 。
接下来通过jstack -l 510 来查看当前java程序的线程栈,同时将我们上一步查找到的CPU执行过高的线程PID 511 转换成16进制 :511===》1FF
Java线上CPU100% 问题排查

文章插图
 
这样我们就定位到了我们程序问题所在的位置 。接下来我们检查代码即可 。
完毕!!!




    推荐阅读