Java定位CPU使用100%的方法

来源:互联网 发布:过期的知乎live 编辑:程序博客网 时间:2024/05/10 07:16

1、找出最耗费cpu的进程号

例如:4414

[sms@stat ~]$ top

2、找出此进程下的所有线程

从中找出cpu最高的线程id

[sms@stat ~]$ top -p 4144 -H

3、将线程id十进制数转为16进制

[sms@stat ~]$ printf "0x%x\n" 22291
0x5713

4、把线程dump出来

将此进程号的Java堆栈信息打印到文件中

[sms@stat ~]$ jstack 4144 >cpu.log

5、查找nid=0x5713的内容,即可跟踪到具体的线程代码

"http--8080-543$1705001939" daemon prio=10 tid=0x00002b70f017e000 nid=0x5713 runnable [0x00002b7101bca000]




0 0
原创粉丝点击