jstack分析cpu占用100

2021-08-26 08:58:02 字數 601 閱讀 6398

背景:

執行測試程式後,top命令發現某個程序(pid)占用cpu達到100%。

檢視哪個執行緒占用最多資源:

ps mp pid -o thread,tid,命令檢視這個程序下面的所有執行緒占用情況。

發現執行緒324占用最多。

使用jstack進行跟蹤:

jstack pid 進行檢視輸出到臨時檔案

jstack 323 > test

將剛剛發現占用cpu最多的執行緒id(324)換算成16進製制,324==》144

檢視jstack 生成的檔案:

下面可以看出是哪行**導致,檢視那行**發現有死迴圈。跟蹤解決完畢。

上面是檢視cpu占用情況,舉一反三,其他的相關資源分析方法應該是類似的。

這種查起問題來很有成就感,跟我們牛牛的開發學的一招以後大家也可以用起來~~~

後記:

測試關注的東西很多,點到面,再面到點,而開發們在技術上了解會的分析方法很多,我們在發現bug後不是直接丟給開發,fix後外圍回歸,而是向開發請教分析方法,得到「漁」,開發也很樂於教給我們,這樣我們以後遇到類似問題就能直接進行分析,這樣才能不斷既提高充實自己,提高效率,並且會有很有成就感,這是一件非常快樂的事情。

Linux jstack分析cpu占用100

執行測試程式後,top命令發現某個程序 pid 占用cpu達到100 檢視哪個執行緒占用最多資源 ps mp pid o thread,tid,命令檢視這個程序下面的所有執行緒占用情況。發現執行緒324占用最多。使用jstack進行跟蹤 jstack pid 進行檢視輸出到臨時檔案 jstack 3...

JStack分析cpu消耗過高問題

mark一下,今天確實用這個方法找到了問題 1.top找到目標程序,記下pid 2.top p pid,並用shift h開啟執行緒模式 這樣可以看到這個程序中,到底哪個執行緒占用大量cpu 記下threadid,tid 3.jstack檢視該執行緒實時的stack情況 jstack pid gre...

JStack分析cpu消耗過高問題

1.top找到目標程序,記下pid 2.top p pid,並用shift h開啟執行緒模式 這樣可以看到這個程序中,到底哪個執行緒占用大量cpu 記下threadid,tid 3.jstack檢視該執行緒實時的stack情況 jstack pid grep a 10 tid 16進製制 10表示列...