1.使用top -c 查看CPU 占用情況 ,按P(大寫)可以倒序查看占CPU占用率
2.找到占用率高的進程以后,再定位到具體線程
比如 此時進程ID 14724 CPU占用高,進一步使用top -Hp 14724定位該進程內所有的線程使用情況
3.定位到該進程內,15153 的線程CPU占用高,進一步分析內存堆棧的情況
1.使用jstack -l 14724 (進程id) > 14724.stack 將進程內的線程情況亂重定向到14724.stack這個文件,方便查看
2.將線程15153轉換為16進制數(這里 我使用python的內置函數 hex())進行轉換 如下圖
3.使用cat -14172.stack | grep '0x3b31' 查看該線程打印出來的堆棧信息