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时,第一行的信息自系统启动以来的平均信息。
参数 解释 从/proc/stat获得数据
CPU 处理器ID
user 表示处理用户进程所使用 CPU 的百分比。用户进程是用于应用程序 的非内核进程
nice:nice值为负进程的CPU时间
iowait : 表示等待进行 I/O 所使用的 CPU 时间百分比
irq: 表示用于处理系统中断的 CPU 百分比
soft :表示用于软件中断的 CPU 百分比
idle :显示 CPU 的空闲时间
intr/s:显示每秒 CPU 接收的中断总数
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时间前的值。上表中的所有值可取到两位小数点。