1, mpstat的默认输出行中的各栏的值是所有CPU的汇总值。
[root@stevenli ~]#mpstat
Linux 2.6.32-358.11.1.el6.x86_64 (stevenli.ibm.com) 2013年10月28日_x86_64_ (4CPU)
![mpstat监控CPU使用情况 python监控cpu使用率](http://img.aihuau.com/images/02111102/02121341t01c287dafac9e05a0e.jpg)
09时50分06秒CPU%usr%nice %sys%iowait%irq %soft%steal %guest%idle
09时50分06秒all3.340.001.092.660.000.020.000.05 92.83
[root@stevenli ~]#
-P表示要监控那个CPU,CPU的个数是从0开始计数的。ALL表示所有的CPU。
[root@stevenli ~]# mpstat -P ALL
Linux 2.6.32-358.11.1.el6.x86_64 (stevenli.ibm.com) 2013年10月28日_x86_64_ (4CPU)
09时51分28秒CPU%usr%nice %sys%iowait%irq %soft%steal %guest%idle
09时51分28秒all3.370.001.142.830.000.020.000.11 92.54
09时51分28秒06.510.002.093.750.010.080.000.09 87.47
09时51分28秒14.070.001.404.370.000.010.000.09 90.07
09时51分28秒21.550.000.541.700.000.000.000.12 96.09
09时51分28秒31.370.000.531.500.000.000.000.13 96.48
[root@stevenli ~]#
2,可以通过下面的语法格式来实现更加精细化的监控
mpstat -P 指定要监控的CPU监控的时间间隔 监控重复的次数。
下面的命令指对第一块CPU,每隔3秒监控一次,重复3次。
[root@stevenli ~]# mpstat -P 0 33
Linux 2.6.32-358.11.1.el6.x86_64 (stevenli.ibm.com) 2013年10月28日_x86_64_ (4CPU)
09时53分36秒CPU%usr%nice %sys%iowait%irq %soft%steal %guest%idle
09时53分39秒05.400.006.124 7.840.000.720.002.16 37.77
09时53分42秒06.320.006.6731.230.000.700.003.51 51.58
09时53分45秒06.880.005.0734.780.000.360.004.35 48.55
平均时间:06.200.005.9637.900.000.600.003.34 46.01
[root@stevenli ~]#
关键字段解释:CPU CPU编号,all 那行是所有CPU的平均统计值。%user在监控的时间间隔内,用户级进程(运用程序)占用的CPU时间百分比。%nice在监控的时间间隔内,nice值为负的用户级进程所占用的CPU时间百分比。%sys 在监控的时间间隔内,系统及进程(内核)占用的CPU使用率。该时间包括了系统处理软、硬中断所花的时间。%iowait在监控的时间间隔内,等待硬盘I/O的时间,CPU的闲置时间百分比。%irq 在监控的时间间隔内,CPU服务硬中断的所占的时间百分比。%soft在监控的时间间隔内,CPU服务软中断的所占的时间百分比。%idle在监控的时间间隔内,CPU闲置时间所占用的时间百分比,不包括等待磁盘IO请求的时间。其中最重要的字段是%idle,%iowait。如果%idle说明CPU的负载不高。如果%iowait高,说明存在I/O竞争。也可以使用输出重定向保存mpstat对CPU的监控数据,用作CPU历史使用率分析。