查消耗cpu最高的進程PID
執行命令
- 執行
top -c
,顯示進程運行信息列表。按下P,進程按照cpu使用率排序
如下圖所示,PID爲3033的進程耗費cpu最高
根據PID查出消耗cpu最高的線程號
執行命令
-
top -Hp 3033
,顯示一個進程的線程運行信息列表。按下P,進程按照cpu使用率排序
如下圖所示,PID爲3034的線程耗費cpu最高
這是十進制的數據,轉成十六進制爲0xbda
根據線程號查出對應的java線程,進行處理
執行命令,導出進程快照
- jstack -l 3033 > ./3033.stack
然後執行,grep命令,看線程0xbda
做了什麼
- cat 3033.stack |grep 'bda' -C 8
輸出如下