mpstat
mpstat是Multiprocessor Statistics的縮寫,是實時監控工具,報告與cpu的一些統計信息這些信息都存在/proc/stat文件中,在多CPU系統裏,其不但能查看所有的CPU的平均狀況的信息,而且能夠有查看特定的cpu信息,mpstat最大的特點是:可以查看多核心的cpu中每個計算核心的統計數據;而且類似工具vmstat只能查看系統的整體cpu情況。(mpstat是常用的多核CPU性能分析工具,用來實時查看CPU的性能指標以及所有CPU的平均指標)
#要使用sysstat需要安裝該包
yum install sysstat -y
cpu狀態
“-u”選項可以顯示的cpu狀態有
選項 |
說明 |
CPU |
處理器號碼。關鍵字ALL表示統計數據是以所有處理器之間的平均值計算的。 |
%usr |
顯示在用戶級別(應用程序)執行時出現的CPU利用率百分比。 |
%nice |
以良好的優先級在用戶級別執行時顯示CPU利用率的百分比。 |
%sys |
顯示在系統級(內核)執行時CPU利用率的百分比。請注意,這不包括用於服務硬件和軟件中斷的時間。 |
%iowait |
顯示CPU或CPU空閒的時間百分比,在此期間,系統有未執行的磁盤I/O請求。 |
%irq |
顯示cpu或cpu用於服務硬件中斷的時間百分比。 |
%soft |
顯示CPU或CPU用於服務軟件中斷的時間百分比。 |
%steal |
顯示虛擬機管理程序爲另一個虛擬處理器服務時,虛擬CPU或CPU在非自願等待中花費的時間百分比。 |
%guest |
顯示CPU或cpu運行虛擬處理器所花費的時間百分比。 |
%idle |
顯示CPU或CPU空閒的時間百分比,並且系統沒有未執行的磁盤I/O請求。 |
mpstat -P ALL 1
先查看你的CPU的個數
[root@localhost ~]# grep "model name" /proc/cpuinfo | wc -l
32
查看每個CPU的負載
$ mpstat -P ALL 1
Linux 3.13.0-49-generic (titanclusters-xxxxx) 07/14/2015 _x86_64_ (32 CPU)
07:38:49 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
07:38:50 PM all 98.47 0.00 0.75 0.00 0.00 0.00 0.00 0.00 0.00 0.78
07:38:50 PM 0 96.04 0.00 2.97 0.00 0.00 0.00 0.00 0.00 0.00 0.99
07:38:50 PM 1 97.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 2.00
07:38:50 PM 2 98.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00
07:38:50 PM 3 96.97 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.03
[...]
這個命令顯示每個CPU的時間使用百分比,你可以用它來檢查CPU是否存在負載不均衡。單個過於忙碌的CPU可能意味着整個應用只有單個線程在工作。