1、找出最耗費cpu的進程號
例如:4414
[sms@stat ~]$ top
2、找出此進程下的所有線程
從中找出cpu最高的線程id
[sms@stat ~]$ top -p 4144 -H
3、將線程id十進制數轉爲16進制
[sms@stat ~]$ printf "0x%x\n" 222910x5713
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]