欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

 

相关标签: java应用