一次java系統執行緒占用CPU過高問題的解決

2021-08-28 07:33:04 字數 630 閱讀 4416

開啟doc命令列,執行命令:jstack -l 9520 >> d:\\jstack.txt

開啟d盤下的jstack.txt檔案,搜尋16進製制的執行緒編號4c90,找到後就可定位到有問題的**。

1,使用top 命令動態的展示占用前幾的程序pid, cpu消耗, time, res 等資訊,然後找到cpu占用最高的pid。

2 , top -hp  19600(pid)  顯示pid程序消耗的執行緒各個情況。著到乙個認為time最長的執行緒的pid,將pid轉成16進製制4c90,例如:

printf "%x\n" 19600(pid)。
3、使用jstack工具定位問題的原因 ./jstatck -l 9520 | grep 4c90  -a 80 。

說明:-a 80 是關鍵字後的80行**

一次GC執行緒占用系統CPU過高處理過程

因為測試人員報告說,最近訂單系統總是超時,要重啟才能恢復正常,但是第二次復現的時間不固定。然後先是檢視下應用狀態是否正常,沒有問題。然後檢視日誌,發現有很多交易報超時。仔細檢視超時的日誌,發現什麼型別的交易都有,而且超時的地方也不固定,更像是系統或者架構層面的錯誤。趕緊看下 ps ux linux系...

java在linux下占用高cpu的一次錯誤排查

在前兩天突然間接到反饋說伺服器很卡解決後來做乙個記錄.以下為檢查stack與heap的部分截圖 雖然說老年代已經77 但是看起來還是正常的,並沒有到要爆掉的情況 但是觀察了幾分鐘後cpu一直持續占用不下 網上查了一些api後偶然間看到 top h p 可以檢視某程序下的所有執行緒 執行後可以看到,其...

一次cpu占用高的定位分析

客戶機器cpu占用較高甚至出現cpu打滿的情況,造流程啟動執行緩慢,狀態更新卡死,嚴重影響使用者體驗。首先觀察使用者機器資源情況,記憶體剩餘40g,jvm記憶體占用10 不到。jps ml 拿到pid之後 jstat gccause pid 發現頻繁fgc,差不多一分種就有一次顯示的system.g...