三步排查JVM cpu 100 問題

2022-03-18 06:02:29 字數 844 閱讀 3069

目錄

首先是寫乙個死迴圈的**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...