簡介
mpstat是Multiprocessor Statistics的縮寫,是實時系統監控工具。其報告與CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPUs系統里,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。mpstat最大的特點是:可以查看多核心cpu中每個計算核心的統計數據;而類似工具vmstat只能查看系統整體cpu情況。
語法
mpstat [-P {|ALL}] [internal [count]] 參數 解釋 -P {|ALL} 表示監控哪個CPU, cpu在[0,cpu個數-1]中取值 internal 相鄰的兩次采樣的間隔時間、 count 采樣的次數,count只能和delay一起使用 當沒有參數時,mpstat則顯示系統啟動以后所有信息的平均值。有interval時,第一行的信息自系統啟動以來的平均信息。從第二行開始,輸出為前一個interval時間段的平均信息。
實例
查看多核CPU核心的當前運行狀況信息, 每2秒更新一次
mpstat 219:45:12 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 19:45:14 all 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.96 19:45:16 all 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 99.97 19:45:18 all 0.00 0.07 0.07 0.00 0.00 0.00 0.00 0.00 99.87
如果要看每個cpu核心的詳細當前運行狀況信息,輸出如下:
mpstat -P ALL 2 19:43:58 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 19:43:59 all 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 99.96 19:43:59 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 19:43:59 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 ....... 19:43:59 13 0.99 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.01 19:43:59 14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 19:43:59 15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
字段的含義如下
%user 在internal時間段里,用戶態的CPU時間(%),不包含nice值為負進程 (usr/total)*100 %nice 在internal時間段里,nice值為負進程的CPU時間(%) (nice/total)*100 %sys 在internal時間段里,內核時間(%) (system/total)*100 %iowait 在internal時間段里,硬盤IO等待時間(%) (iowait/total)*100 %irq 在internal時間段里,硬中斷時間(%) (irq/total)*100 %soft 在internal時間段里,軟中斷時間(%) (softirq/total)*100 %idle 在internal時間段里,CPU除去等待磁盤IO操作外的因為任何原因而空閑的時間閑置時間(%) (idle/total)*100
計算公式如下
total_cur=user+system+nice+idle+iowait+irq+softirq total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq user=user_cur – user_pre total=total_cur-total_pre 其中_cur 表示當前值,_pre表示interval時間前的值。上表中的所有值可取到兩位小數點。
轉自 http://www.cnblogs.com/stephen-liu74/archive/2011/12/05/2257887.html