mpstat
- 报告处理器相关的统计数据
格式
mpstat [ -A ] [ -u ] [ -V ] [ -I { keyword [,...] | ALL } ] [ -P { cpu [,...] | ON | ALL } ] [ interval [ count ] ]
描述
-
mpstat命令向标准输出写每个可以访问到的处理器的活动情况,第一个是处理器0
-
在所有处理器之间的全局平均活动数也会被报告
-
mpstat命令可以用于SMP和UP机器,但是在后者中,仅有全局平均活动被打印出来。
-
如果没有活动被选择,默认的报告是CPU使用率报告。
-
interval参数指定在每个报告之间的时间间隔,单位是秒。 如果是0,则指定处理器的统计数据是从系统启动开始的。
-
count参数可以和interval参数一起指定,如果count参数没有设为0的话。
-
count的数值决定了以interval秒间隔的生成的报告的数量。
-
如果interval参数没有指定count则mpstat命令持续生成报告。
选项
- -A 这个选项等于指定了-u -I ALL -P ALL
- -I {keyword [,…] | ALL}
- 报告中断Interrupt统计数据
- 可能的关键字是SUM CPU SCPU
- SUM mpstat命令报告每个处理器的中断总数,会显示下面两个值
- CPU 处理器编号,显示的all指出统计数据是计算的所有的处理器之间的一个平均值
- intr/s 展示CPU或者多个CPU每秒总的中断的数量
- CPU
- 使用CPU关键字,CPU每秒收到的中断数展示出来
- 中断是列在/proc/interrupts文件中的那些中断
- SCPU
- 使用SCPU关键字,CPU每秒收到的软中断数展示出来
- 这个选项只有在2.6.31内核及以后的版本才会生效
- 软中断是那些列在/proc/softirqs文件中的
- ALL 关键字相当于是指定了以上所有的关键字,因此所有的中断的统计数据都会展示
- SUM mpstat命令报告每个处理器的中断总数,会显示下面两个值
- -P {cpu [,…] | ON | ALL}
- 指明要统计报告的CPU的编号
- cpu这个是处理的编号,注意0是第一个处理器
- ON关键字指明统计数据是为每一个在线的处理器报告的。
- ALL关键字指明统计数据是为所有的处理器报告的
- -u 报告CPU使用率,下面的值会被展示
- CPU 处理器编号,all指出统计数据是在所有的处理器中取的平均值
- %usr 在用户层(应用程序)执行时占用的CPU使用率
- %nice 在用户层(应用程序)执行时占用的带有nice优先级的CPU使用率
- %sys 在系统层(内核层)执行时占用的CPU使用率,注意这个并不含花在服务硬件和软件中断上的时间
- %iowait 展示系统有未完成的磁盘IO请求导致的CPU空闲的百分比
- %irq 展示CPU服务硬件中断(hardware interrupts)花的时间的百分比
- %soft 展示CPU服务软件中断(software interrupts)花的时间的百分比
- %steal 展示当虚拟机管理程序服务其他虚拟处理器的时候,虚拟CPU在非自愿等待中花费的时间的百分比。
- %guest 展示CPU运行虚拟处理器花费的时间的百分比
- %gnice 展示时间的百分比
- %idle 展示CPU空闲并且系统没有未完成的IO请求占的时间的百分比
- 注意:
- 在SMP机器上一个没有任何活动的处理器是一个禁用的处理器(offline)
- -V 打印版本并退出
环境变量
- mpstat 命令考虑下面的环境变量
- S_COLORS
- 当设置了这个环境变量,在终端上用彩色展示统计数据。可用never always auto(默认值)
- 注意展示值的不同的颜色并明确表示什么特殊含义,仅仅指示不同的值的范围。
- S_COLORS_SGR
- 指定颜色和其他的属性用于在终端上展示统计数据。 值是一个冒号分隔的列表,默认值为
H=31;1:I=32:M=34;1:N=33:1Z=33;22
- S_TIME_FORMAT
- 用来控制输出的首行的时间的格式的
- 如果这个变量存在并且值为ISO,那么,当前的本地化设置将会被忽略。mpstat命令会使用ISO8601格式化(YYYY-MM-DD)。