jstack分析cpu佔用100%(轉)

背景:

運行測試程序後,top命令發現某個進程(pid)佔用cpu達到100%。 node

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

ps mp pid -o THREAD,tid,命令查看這個進程下面的全部線程佔用狀況。 測試

發現線程324佔用最多。 spa

使用jstack進行跟蹤:

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

jstack 323 > test 進程

將剛剛發現佔用cpu最多的線程id(324)換算成16進制,324==》144 資源

查看jstack 生成的文件: 開發

下面能夠看出是哪行代碼致使,查看那行代碼發現有死循環。跟蹤解決完畢。 test

上面是查看cpu佔用狀況,觸類旁通,其餘的相關資源分析方法應該是相似的。 效率

這種查起問題來頗有成就感,跟咱們牛牛的開發學的一招之後你們也能夠用起來~~~
  循環

後記:
測試關注的東西不少,點到面,再面到點,而開發們在技術上了解會的分析方法不少,咱們在發現bug後不是直接丟給開發,fix後外圍迴歸,而是向開發請教分析方法,獲得「漁」,開發也很樂於教給咱們,這樣咱們之後遇到相似問題就能直接進行分析,這樣才能不斷既提升充實本身,提升效率,而且會有頗有成就感,這是一件很是快樂的事情。

from: http://testing.etao.com/node/615

相關文章
相關標籤/搜索