排查問題

背景:
top命令發現某個進程(pid)佔用cpu達到100%。


查看哪個線程佔用最多資源:

ps mp pid -o THREAD,tid,命令查看這個進程下面的所有線程佔用情況。


發現線程324佔用最多。

使用jstack進行跟蹤:

jstack pid 進行查看輸出到臨時文件

jstack 323 > test

將剛剛發現佔用cpu最多的線程id(324)換算成16進制,printf "%x\n" 324得到144

查看jstack 生成的文件:

下面可以看出是哪行代碼導致,查看那行代碼發現有死循環。跟蹤解決完畢。

上面是查看cpu佔用情況,舉一反三,其他的相關資源分析方法應該是類似的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章