目錄
首先是寫乙個死迴圈的**demo,用於模擬cpu100%的場景(此處不一定達到100%,只是為了演示排查過程盡量模擬)
public class busycpu
system.out.println(result);}}
}.start();}}
方法:
上面已經找到最耗cpu的程序,在此基礎上,可以尋找耗cpu的執行緒
方法:
從上圖看出,程序187968中最耗cpu的執行緒是187990
上面已經找到具體的執行緒,接下來可以通過在堆疊資訊中,檢視具體的**段和相關資訊。
首先:
上面執行緒號是10進製,在堆疊資訊中,執行緒號是16進製制,因此可以先通過命令轉換為16進製制
> printf "%x\n" 187990
2de56
其次方法:
找到程序中的堆疊資訊,然後按照執行緒號查詢相關資訊
JVM CPU 滿了 100 問題排查
突然收到運維的cpu異常告警。如何定位是哪個服務程序導致cpu過載,哪個執行緒導致cpu過載,哪段 導致cpu過載?步驟一 找到最耗cpu的程序 工具 top 方法 圖示 如上圖,最耗cpu的程序pid為10765 步驟二 找到最耗cpu的執行緒 工具 top 方法 圖示 如上圖,程序10765內,...
動態規劃 三步問題
有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階 2階或者3階。實現一種方法,計算小孩有多少種上樓梯的方式。當n比較大時 比如n 1000000 結果會很大,要求對結果進行模1000000007操作。n 1時,結果為1 n 2時,結果為2 2 1 1 n 3時,結果為4 3 2 1 1 2 1...
三步快速解決dll衝突問題
最近在推廣應用我們的分布式服務閘道器 web api 業務組大部分對外的業務邏輯以hsf服務或者自定義擴充套件外掛程式的方式,註冊並發布到分布式服務閘道器中,統一對外提供webapi服務。臨時介紹下我們的分布式服務閘道器 1.一鍵註冊 發布webapi服務,2.統一管理發布webapi服務,實現we...