Java 服务 CPU 100%的排查过程
程序员文章站
2024-03-11 10:23:25
...
(1)通过top命令,知道CPU最高的进程
top
(2)具体查看java中哪个线程一直在占用cpu时间(这里我的java进程号是: 8752)
#java进程ID进行CPU占用排查(sort -rn 以数值的方式进行逆序排列)
ps -mp 8752 -o THREAD,tid,time | sort -rn | more
(3)根据2中查找到的CPU最高的排序中的结果,找出几个占用cpu时间比较高的TID,将线程ID转换为16进制
printf "%x\n" TID
(4)再使用jstack命名查询是哪个线程
#8752是java进程ID,6669是第三步线程ID转换的16进制
jstack 8752 |grep 6669 -A 30
下一篇: Centos7环境下安装curl