操作系统:7

Java线上CPU100% 问题排查

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

 

运行该程序,然后通过top命名查看:

 

找到执行CPU占用高的进程,对应的PID为510

接着使用如下命令查看具体是哪个线程执行CPU过高

top -Hp 510

-H:显示线程信息

 

这里发现PID为511的线程执行CPU占用过高。

接下来通过jstack -l 510 来查看当前java程序的线程栈,同时将我们上一步查找到的CPU执行过高的线程PID 511 转换成16进制 :511===》1FF

 

这样我们就定位到了我们程序问题所在的位置。接下来我们检查代码即可。

完毕!!!

胜象大百科