生產環境CPU占有率過高怎麼定位解決?

2021-09-26 19:34:47 字數 445 閱讀 6081

cpu過高可能是系統頻繁的進行full gc,導致系統緩慢。而我們平常也可能遇到比較耗時的計算,導致cpu過高的情況,檢視方式如下:

首先我們通過top命令檢視當前cpu消耗過高的程序是哪個,從而得到程序id;然後通過top -hp來檢視該程序中有哪些執行緒cpu過高,一般超過80%就是比較高的,80%左右是合理情況。這樣我們就能得到cpu消耗比較高的執行緒id。接著通過該執行緒id的十六進製制表示在jstack日誌中檢視當前執行緒具體的堆疊資訊。

在這裡我們就可以區分導致cpu過高的原因具體是full gc次數過多還是**中有比較耗時的計算了。如果是full gc次數過多,那麼通過jstack得到的執行緒資訊會是類似於vm thread之類的執行緒,而如果是**中有比較耗時的計算,那麼我們得到的就是乙個執行緒的具體堆疊資訊。

解決dropbox同步時CPU占有率100 的問題

在mac 使用dropbox同步檔案時,有時dropbox程序的cpu占有率超過100 在dropbox的論壇上有個帖子就是關於這個問題 看來這可能是dropbox的乙個bug,參照帖子中的乙個回答,通過使用renice命令降低dropbox程序id的執行優先順序把這個問題解決了。解決思路 1.檢視...

解決dropbox同步時CPU占有率100 的問題

在mac 使用dropbox同步檔案時,有時dropbox程序的cpu占有率超過100 在dropbox的論壇上有個帖子就是關於這個問題 看來這可能是dropbox的乙個bug,參照帖子中的乙個回答,通過使用renice命令降低dropbox程序id的執行優先順序把這個問題解決了。解決思路 1.檢視...

Shell指令碼 效能測試之CPU占有率

這裡就簡單說下計算步驟吧 1.獲取測試裝置的 cpu 核心數 2.計算程序的 cpu 使用時間 3.計算總的 cpu 使用時間 4.程序的 cpu 使用率 程序的 cpu 使用時間 總的 cpu 使用時間 cpu 核心數 100 如下 usr bin env bash 建立輸出資料夾和臨時資料夾 f...