現象:進程長時間異常消耗大量的 CPU
分析思路:導致高CPU占用原因可能有以下多種:WebLogic Server 本身、用戶創建的線程、不規范的編碼方式,或第三方軟件
分析如下:
(1)使用 ps 和 grep 獲取與啟動了耗盡 CPU 的 WLS 的 userID 相關聯的 PID
(2)通過 top -Hp <PID> 查找 WLS 進程中使用了最多 CPU 的線程 ID
(3)獲取 WebLogic Server 進程的線程轉儲文件
在線程轉儲中搜索相應的值:nid(對於較舊的 Linux 版本)或 tid(對於較新的版本)。這將找到造成高 CPU 使用率問題的線程的 stacktrace(sun jdk需要把值轉換成16進制)