top得到的cpu幾個值到底是什麼含義?

thamsyangsw發表於2015-01-15
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
 
一直不太明白,原來這樣的:現代分時多工作業系統,cpu使用時分時段來,比如某個時段A程式cpu處理用了10s,然後B程式30s,然後空閒了60s,那麼這個時間內cpu佔用率是40%
 
下邊是google得到的解釋。
 
# us -> User CPU time: The time the CPU has spent running users’ processes that are not niced.
%us cpu耗費在不正常的使用者程式的時間。

# sy -> System CPU time: The time the CPU has spent running the kernel and its processes.
 
 系統核心佔用時間

# ni -> Nice CPU time: The time the CPU has spent running users’ proccess that have been niced.
 
。。。。。。
# wa -> iowait: Amount of time the CPU has been waiting for I/O to complete.
cpu等待I/0完成的時間總量。

# hi -> Hardware IRQ: The amount of time the CPU has been servicing hardware interrupts.
# si -> Software Interrupts.: The amount of time the CPU has been servicingsoftware
interrupts.
 
更詳細的論述請見
 
結論:
系統負載時執行佇列的平均長度,也就是等待CPU的平均程式數
所以“Load值=CPU核數”,這是最理想的狀態,沒有任何競爭,一個任務分配一個核。
由於資料是每隔5秒鐘檢查一次活躍的程式數,然後根據這個數值算出來的。如果這個數除以CPU的核數,結果高於5的時候就表明系統在超負荷運轉了。
PS:load和io也有很大關係,io很忙的機器,基本idle很高,但load也是非常高。
 
到此你應該明白為什麼top得到的結果是200%了吧?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1402456/,如需轉載,請註明出處,否則將追究法律責任。

相關文章