CPU使用率是單位時間內服務器CPU的使用統(tǒng)計,可以用除CPU空閑時間外其他時間占總CPU時間的百分比來表示,即:CPU使用率=1-CPU空閑時間/總CPU時間。
命令:#top????????? //top工具間隔3s會動態(tài)滾動更新一次數(shù)據(jù)
字段說明:
us (user):用戶態(tài)的CPU使用時間比例,是用戶運行程序的真正時間,它不包括后面的ni時間;
sy (system): 內核態(tài)的CPU使用時間比例,是操作系統(tǒng)的運行時間,操作系統(tǒng)運行時,用戶運行程序往往處于等待狀態(tài);
ni (nice): 表示低優(yōu)先級用戶態(tài)的CPU時間比例,取值范圍為[-20,19],數(shù)值越大,則優(yōu)先級越低;
id (idle): 表示空閑的CPU時間比例,值越大,CPU空閑時間比例越高,利用率越低;
wa (iowait): 表示處于IO等待狀態(tài)的CPU時間比例;
hi (hard interrupt): 表示處理硬中斷的CPU時間比例;
si (soft interrupt): 與hi相反,表示處理軟中斷的CPU時間比例;
st (steal): 表示當前系統(tǒng)運行在虛擬機中被其他虛擬機占用的CPU時間比例。
在性能測試中,系統(tǒng)整體的CPU使用率可以用(1-id)來計算。當us很高時,說明CPU時間主要消耗在用戶代碼上,可以從用戶代碼角度考慮優(yōu)化性能;當sy很高時,說明CPU時間主要消耗在內核上,可以從是否系統(tǒng)調用頻繁、CPU進程或線程切換頻繁角度考慮性能的優(yōu)化;當wa很高時,說明有進程在進行頻繁的IO操作,可能是磁盤IO或者網絡IO。
一般情況下,如果%us+%sy<=70%,我們可以認為系統(tǒng)的運行狀態(tài)良好。
推薦閱讀: