思路:結合Linux和JDK命令一起分析
1、用top命令找出CPU占比最高的進程
2、ps -ef|grep java|grep -v grep 或者jps -l進一步定位,得知是怎樣一個后台程序惹事
3、定位到具體線程:ps -mp 進程編號 -o THREAD,tid,time
ps -mp 4618 -o THREAD,tid,time -m:顯示所有線程 -p pid:進程使用CPU的時間 -o:用戶自定義格式
4、將需要的線程ID轉換為16進制格式:printf "%x\n" 有問題的線程id
printf "%x\n" 4619
5、jstack 進程ID|grep tid(16進制線程小寫英文)-A60
jstack 4618 | grep 120b -A60