JStack分析cpu消耗過高問題

2022-05-04 04:54:10 字數 597 閱讀 2855

1. top找到目標程序,記下pid

2. top –p pid, 並用shift+h開啟執行緒模式 

這樣可以看到這個程序中,到底哪個執行緒占用大量cpu 

記下threadid,tid

3. jstack檢視該執行緒實時的stack情況 

jstack [pid]|grep -a 10 [tid(16進製制)] , 10表示列印stack的長度,可以選擇列印更多的stack資訊

比如,jstack 21125|grep -a 10 52f1

--參考

1. top找到目標程序,記下pid

2. top –p pid, 並用shift+h開啟執行緒模式 

這樣可以看到這個程序中,到底哪個執行緒占用大量cpu 

記下threadid,tid

3. jstack檢視該執行緒實時的stack情況 

jstack [pid]|grep -a 10 [tid(16進製制)] , 10表示列印stack的長度,可以選擇列印更多的stack資訊

比如,jstack 21125|grep -a 10 52f1

--參考

JStack分析cpu消耗過高問題

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

jstack分析cpu占用100

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

linux 分析程序占用CPU過高

重點是檢視程序的執行緒中,哪個執行緒占用cpu過高,然後用gdb附加到程序,除錯執行緒,看是否有死迴圈或者死鎖等問題,步驟如下 1 先用ps grep找出該死的程序pid,比如 1706 gdb attach 到程序號碼 1706 仍然在gdb中 info threads 結果大致如下 gdb in...