mpstat 使用详解

mpstat是MultiProcessorStatistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。下面只介绍mpstat与CPU相关的参数,mpstat的语法如下:

mpstat [-P {|ALL}] [internal [count]]

参数的含义如下:

参数 解释

-P {|ALL} 表示监控哪个CPU,cpu在[0,cpu个数-1]中取值

internal 相邻的两次采样的间隔时间

count采样的次数,count只能和delay一起使用

当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。

从第二行开始,输出为前一个interval时间段的平均信息。与CPU有关的输出的含义如下:

参数 解释 从/proc/stat获得数据

CPU 处理器ID

user在internal时间段里,用户态的CPU时间(%),不包含 nice值为负 进程(usr/total)*100  

nice在internal时间段里,nice值为负进程的CPU时间(%)  (nice/total)*100  

system在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

intr/s在internal时间段里,每秒CPU接收的中断的次数intr/total)*100

CPU总的工作时间=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时间前的值。上表中的所有值可取到两位小数点。

范例1:average mode (粗略信息)

当mpstat不带参数时,输出为从系统启动以来的平均值。

CODE:

[work@builder linux-2.6.14]$mpstat

Linux 2.6.9-5.31AXsmp(builder.redflag-linux.com) 12/16/2005

09:38:46 AM CPU %user %nice%system %iowait %irq %soft %idle intr/s

09:38:48 AM all 23.28 0.001.75    0.50 0.00 0.00 74.47 1018.59


范例2: 每2秒产生了2个处理器的统计数据报告

下面的命令可以每2秒产生了2个处理器的统计数据报告,一共产生三个interval的信息,然后再给出这三个interval的平

均信息。默认时,输出是按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的

活跃状态。。

CODE:

[root@server yum_dir]# mpstat -PALL 2 3

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

09:34:20 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

09:34:22 PMall   0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00   1001.49

09:34:22PM     0.00   0.00   0.50   0.00   0.00   0.00   0.00  99.50   1001.00

09:34:22PM     0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00     0.00

 

09:34:22 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

09:34:24 PMall   0.00   0.00   0.25   0.00   0.00   0.00   0.00  99.75   1005.00

09:34:24PM     0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00   1005.50

09:34:24PM     0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00     0.00


09:34:24 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

09:34:26 PMall   0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00   1001.49

09:34:26PM     0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00   1001.00

09:34:26PM     0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00     0.00


Average:    CPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

Average:    all   0.00   0.00   0.08   0.00   0.00   0.00   0.00  99.92   1002.66

Average:        0.00   0.00   0.17   0.00   0.00   0.00   0.00  99.83   1002.49

Average:        0.00   0.00   0.00   0.00   0.00   0.00    0.00100.00     0.00

[root@server yum_dir]#

 

 

范例3:比较带参数和不带参数的mpstat的结果。

在后台开一个2G的文件

# cat 1.img&

然后在另一个终端运行mpstat命令

CODE:

[root@server ~]# cat 1.img&

[1] 6934

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:31 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:31 PMall   0.07   0.02   0.25   0.21   0.01   0.04   0.00  99.40   1004.57

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:35 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:35 PMall   0.07   0.02   0.25   0.21   0.01   0.04   0.00  99.39   1004.73

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:39 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:39 PMall   0.07   0.02   0.25   0.21   0.01   0.04   0.00  99.38   1004.96

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:44 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:44 PMall   0.07   0.02   0.26   0.21   0.01   0.05   0.00  99.37   1005.20

[root@server ~]# mpstat 310

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:55 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:58 PMall  13.12   0.00  20.93   0.00   1.83   9.80   0.00  54.32   2488.08

10:18:01 PMall  10.82   0.00  19.30   0.83   1.83   9.32   0.00  57.90   2449.83

10:18:04 PMall  10.95   0.00  20.40   0.17   1.99   8.62   0.00  57.88   2384.05

10:18:07 PMall  10.47   0.00  18.11   0.00   1.50   8.47   0.00  61.46   2416.00

10:18:10 PMall  11.81   0.00  22.63   0.00   1.83  11.98   0.00  51.75   2210.60

10:18:13 PMall   6.31   0.00  10.80   0.00   1.00   5.32   0.00  76.58   1795.33

10:18:19 PMall   1.75   0.00   3.16   0.75   0.25   1.25   0.00  92.85   1245.18

10:18:22 PMall  11.94   0.00  19.07   0.00   1.99   8.29   0.00  58.71   2630.46

10:18:25 PMall  11.65   0.00  19.30   0.50   2.00   9.15   0.00  57.40   2673.91

10:18:28 PMall  11.44   0.00  21.06   0.33   1.99  10.61   0.00  54.56   2369.87

Average:    all   9.27   0.00  16.18   0.30   1.50   7.64   0.00  65.11   2173.54

[root@server ~]#

上两表显示出当要正确反映系统的情况,需要正确使用命令的参数。vmstat 和iostat 也需要注意这一问题。

# cat 1.img &

然后在另一个终端运行mpstat命令

CODE:

[root@server ~]# cat 1.img&

[1] 6934

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:31 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:31 PMall   0.07   0.02   0.25   0.21   0.01   0.04   0.00  99.40   1004.57

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:35 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:35 PMall   0.07   0.02   0.25   0.21   0.01   0.04   0.00  99.39   1004.73

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:39 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:39 PMall   0.07   0.02   0.25   0.21   0.01   0.04   0.00  99.38   1004.96

[root@server ~]#mpstat

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:44 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:44 PMall   0.07   0.02   0.26   0.21   0.01   0.05   0.00  99.37   1005.20

[root@server ~]# mpstat 310

Linux 2.6.18-164.el5(server.sys.com)   01/04/2010

 

10:17:55 PMCPU  %user  %nice    %sys%iowait   %irq   %soft%steal  %idle   intr/s

10:17:58 PMall  13.12   0.00  20.93   0.00   1.83   9.80   0.00  54.32   2488.08

10:18:01 PMall  10.82   0.00  19.30   0.83   1.83   9.32   0.00  57.90   2449.83

10:18:04 PMall  10.95   0.00  20.40   0.17   1.99   8.62   0.00  57.88   2384.05

10:18:07 PMall  10.47   0.00  18.11   0.00   1.50   8.47   0.00  61.46   2416.00

10:18:10 PMall  11.81   0.00  22.63   0.00   1.83  11.98   0.00  51.75   2210.60

10:18:13 PMall   6.31   0.00  10.80   0.00   1.00   5.32   0.00  76.58   1795.33

10:18:19 PMall   1.75   0.00   3.16   0.75   0.25   1.25   0.00  92.85   1245.18

10:18:22 PMall  11.94   0.00  19.07   0.00   1.99   8.29   0.00  58.71   2630.46

10:18:25 PMall  11.65   0.00  19.30   0.50   2.00   9.15   0.00  57.40   2673.91

10:18:28 PMall  11.44   0.00  21.06   0.33   1.99  10.61   0.00  54.56   2369.87

Average:    all   9.27   0.00  16.18   0.30   1.50   7.64   0.00  65.11   2173.54

[root@server ~]#

上两表显示出当要正确反映系统的情况,需要正确使用命令的参数。vmstat 和iostat 也需要注意这一问题。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值