在linux的系統維護中,可能需要經常查看cpu使用率,分析系統整體的運行情況。而監控CPU的性能一般包括以下3點:運行隊列、CPU使用率和上下文切換。
1、top
這個命令很常用,在第三行有顯示CPU當前的使用情況。
如上所示,top命令可以看到總體的系統運行狀態和cpu的使用率 。
%us:表示用戶空間程序的cpu使用率(沒有通過nice調度)
%sy:表示系統空間的cpu使用率,主要是內核程序。
%ni:表示用戶空間且通過nice調度過的程序的cpu使用率。
%id:空閑cpu
%wa:cpu運行時在等待io的時間
%hi:cpu處理硬中斷的數量
%si:cpu處理軟中斷的數量
%st:被虛擬機偷走的cpu
2、vmstat
3、sar
sar命令語法和vmstat一樣。命令不存在時需要安裝sysstat包,這個包很有用。
CPU使用率
例如每1秒采集一次CPU使用率,共采集5次。
和top一樣,可以看到所有cpu的使用情況。如果需要查看某顆cpu的使用可以用-P參數。例如指定顯示0號cpu 的使用情況。
進程隊列長度和平均負載狀態
例如每1秒采集一次,共采集5次。
輸出項:
runq-sz:運行隊列的長度(等待運行的進程數)
plist-sz:進程列表中進程(processes)和線程(threads)的數量
ldavg-1:最后1分鍾的系統平均負載(System load average)
ldavg-5:過去5分鍾的系統平均負載
ldavg-15:過去15分鍾的系統平均負載