usr 使用者態cpu時間
nice 低優先順序使用者態cpu時間
system 系統態cpu時間
idle 空閒時間
iowait 等待io的時間
irq 硬中斷的時間
softirq 軟中斷的時間
steal 當系統執行在虛擬機器中時,被其他cpu占用的時間。
gust 通過虛擬化,執行其他作業系統的時間。
gust_nice 以低優先順序執行虛擬化的時候。
使用者態占用過多的cpu,應著重排查使用者程序的效能問題。
系統態占用過多的cpu,應著重排查系統呼叫,核心程序的問題。
io等待時機過長,應著重排查系統儲存的io問題。
軟中斷硬中斷,應著重排查核心中的中斷服務程式。
top,perf top -g 程序號 必須加-g才能顯示函式呼叫資訊。看exectue_ex下的函式呼叫。
碰到cpu佔用率過高,但是top看不到cpu占用高的程序的情況可能是:
1、程序不斷因為某種原因(段錯誤等)退出之後,被監視程序不斷重啟。
2、在程序內部通過exec呼叫的外部命令。這些命令程序只執行很短的時間就退出,一般很難用top來監控。
用工具可以監視出存在時間很短的程序。
也可以用perf record -g觀察15秒,然後用perf report檢視結果,可以定位出占用cpu使用率高的程序。
碰到cpu使用率過高問題的定位思路:
1、top命令檢視cpu使用率,定位使用率高的程序,如果有,直接perf檢視程序,定位到函式位置,走讀**,發現問題。
2、如果top命令檢視cpu使用率高,但查不到使用率高的程序,考慮短時程序問題。用execsnoop工具定位短時程序。用perf record -g 和perf report定位短時程序。
控制CPU使用率
我使用的是ubuntu 14.04版本,用的是自帶的系統監視器來觀察cpu使用率的變化。1.首先來說說怎麼控制cpu使用率,當程式執行乙個死迴圈的時候,使用率就會變成100 而當程式進入idle的時候,使用率就會很低 在別的程式不啟動的情況下 那麼控制cpu使用率就是調整它idle和busy的時間比...
cpu使用率統計
cat proc stat得到 user nice system idle iowait irq softirq stealstolen guest 的9元組 再採兩個夠短的時間點,做差計算即可 cat proc pid stat讀取到 pid 6873 程序號utime 1587 該任務在使用者態...
檢視CPU使用率
rem 如果wmi服務 服務名為winmgmt 壞掉了,需要到system32 webm目錄下執行如下注釋的命令 remfor i in dll do regsvr32 s i remregsvr32 s scrcons.exe remrem regsvr32 s wbemtest.exe remr...