windows下排查java程序CPU占用高

1、先運(yùn)行java項(xiàng)目

2、打開任務(wù)管理器,找到cpu占用的java進(jìn)程的PID

3、再利用jdk自帶的jstack命令,在控制臺(tái)下,jstack -l PID >E://wwww.stack,這個(gè)命令就是把這個(gè)進(jìn)程的堆棧信息打印到E盤下wwwww.stack這個(gè)文件中

4、下載windows查看線程的工具process-explorer? ?連接????https://download.sysinternals.com/files/ProcessExplorer.zip

5、解壓打開,根據(jù)系統(tǒng)選擇32位的或者64位的打開,找到j(luò)ava程序,找到你剛才任務(wù)cpu高的PID,再點(diǎn)擊進(jìn)去,選擇Thread的選項(xiàng)卡


6、找到CPU高的TID,這里是10進(jìn)制的數(shù)字,在計(jì)算器下輸入數(shù)字后,比如8504,轉(zhuǎn)換成16進(jìn)制


7、再打開先前導(dǎo)出的堆棧文件,查詢nid等于這個(gè)數(shù)字的


8、找到熟悉的類,就可以慢慢排查了


9、線程的狀態(tài)

? ? 1????新建狀態(tài)(New)

? ? 2????就緒狀態(tài)(Runnable)

????3????運(yùn)行狀態(tài)(Running)

? ? 4????阻塞狀態(tài)(Blocked)

? ? 5????死亡狀態(tài)(Dead)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容