以上的性能相关的文章里面,有使用到mpstat这个命令,这里就查了一下mpstat简单的一些用法,记录一下。
mpstat介绍
mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
mpstat也是sysstat安装包里面的一个命令。
mpstat命令执行的格式
mpstat [ -A ] [ -I { SUM | CPU | ALL } ] [ -u ] [ -P { cpu [,...] | ON | ALL } ] [ -V ] [ interval [ count ] ]
mpstat命令写入每个可用处理器的标准输出活动,处理器0是第一个。还报告了所有处理器之间的平均活动。mpstat命令可以在SMP和UP机器上使用,但在后者中,将只打印全局平均活动。如果没有选择任何活动,则默认报告是CPU利用报告。
interval参数指定每个报告之间的时间(以秒为单位)。值为0(或根本没有参数)表示要为报告处理器统计信息,系统启动(启动)后的时间。如果此参数未设置为零,则可以结合interval参数指定count参数。 count的值决定的数量报告生成间隔秒间隔。如果在不指定count参数的情况下指定interval参数,mpstat命令会连续生成报告
选项
-A : 此选项等效于# mpstat -I ALL -u -P ALL
-I {SUM | CPU | ALL} : 报告中断统计信息。 使用SUM关键字,mpstat命令报告每个处理器的中断总数。使用CPU关键字,显示CPU或CPU每秒接收的每个中断的数量。ALL关键字等效于指定上面的所有关键字,因此显示所有中断统计信息。
-P {cpu [,...] | ON | ALL} : 指示要报告统计信息的处理器编号。cpu是处理器号。注意,处理器0是第一个处理器。 ON关键字表示将为每个在线处理器报告统计信息,而ALL关键字指示要为所有处理器报告统计信息。
-u : 报告cpu的利用率,将显示以下值:
CPU: 处理器编号。关键字all表示统计信息计算为所有处理器之间的平均值。
%usr: 显示在用户级(应用程序)执行时发生的CPU利用率百分比。
%nice: 显示以优先级较高的用户级别执行时发生的CPU利用率百分比。
%sys: 显示在系统级(内核)执行时发生的CPU利用率百分比。请注意,这不包括维护硬件和软件的时间中断。
%Iowait: 显示系统具有未完成磁盘I / O请求的CPU或CPU空闲的时间百分比。
%irq: 显示CPU或CPU用于服务硬件中断的时间百分比。
%soft: 显示CPU或CPU用于服务软件中断的时间百分比。
%steal: 显示在虚拟机管理程序服务另一个虚拟处理器时虚拟CPU或CPU无意中等待的时间百分比。
%guest: 显示CPU或CPU运行虚拟处理器所花费的时间百分比。
%idle: 显示CPU或CPU空闲且系统没有未完成的磁盘I / O请求的时间百分比。
-V : 打印版本号,然后退出。
例子
不加参数执行
显示了所有CPU整体使用的状态
[root@tmp-20181123-sys-kvm-c-03-61cbec8db893 ~]# mpstat
Linux 3.10.0-514.16.1.el7.x86_64 (tmp-20181123-sys-kvm-c-03-61cbec8db893.zjy) 11/28/2018 _x86_64_ (4 CPU)
11:18:32 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:18:32 PM all 0.13 0.00 0.39 0.00 0.00 0.00 0.00 0.00 0.00 99.48
使用-P参数
显示所有CPU的使用状态
[root@tmp-20181123-sys-kvm-c-03-61cbec8db893 ~]# mpstat -P ALL
Linux 3.10.0-514.16.1.el7.x86_64 (tmp-20181123-sys-kvm-c-03-61cbec8db893.zjy) 11/28/2018 _x86_64_ (4 CPU)
11:20:13 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:20:13 PM all 0.13 0.00 0.39 0.00 0.00 0.00 0.00 0.00 0.00 99.48
11:20:13 PM 0 0.12 0.00 0.38 0.00 0.00 0.00 0.00 0.00 0.00 99.50
11:20:13 PM 1 0.14 0.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 99.46
11:20:13 PM 2 0.13 0.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 99.47
11:20:13 PM 3 0.12 0.00 0.39 0.00 0.00 0.00 0.00 0.00 0.00 99.49
使用-I参数
查看CPU每秒钟接收每个中断的次数
[root@tmp-20181123-sys-kvm-c-03-61cbec8db893 ~]# mpstat -I CPU
Linux 3.10.0-514.16.1.el7.x86_64 (tmp-20181123-sys-kvm-c-03-61cbec8db893.zjy) 11/28/2018 _x86_64_ (4 CPU)
11:23:52 PM CPU 0/s 1/s 4/s 6/s 8/s 9/s 10/s 11/s 12/s 14/s 15/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s PIW/s
11:23:52 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 22.69 0.00 0.00 0.30 0.00 4.10 0.15 0.36 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:23:52 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.37 0.00 0.00 0.00 0.00 29.35 0.00 0.00 0.22 0.00 3.95 0.13 0.35 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:23:52 PM 2 0.00 0.00 4.82 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20.30 0.00 0.00 0.17 0.00 3.90 0.19 0.38 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:23:52 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.53 0.00 0.00 0.00 0.00 0.00 0.00 22.09 0.00 0.00 0.16 0.00 3.74 0.00 0.37 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
查看CPU中断的统计
[root@tmp-20181123-sys-kvm-c-03-61cbec8db893 ~]# mpstat -I SUM
Linux 3.10.0-514.16.1.el7.x86_64 (tmp-20181123-sys-kvm-c-03-61cbec8db893.zjy) 11/28/2018 _x86_64_ (4 CPU)
11:26:56 PM CPU intr/s
11:26:56 PM all 124.64
查看所有CPU中断的统计
[root@tmp-20181123-sys-kvm-c-03-61cbec8db893 ~]# mpstat -P ALL -I SUM
Linux 3.10.0-514.16.1.el7.x86_64 (tmp-20181123-sys-kvm-c-03-61cbec8db893.zjy) 11/28/2018 _x86_64_ (4 CPU)
11:28:07 PM CPU intr/s
11:28:07 PM all 124.66
11:28:07 PM 0 27.62
11:28:07 PM 1 40.38
11:28:07 PM 2 29.77
11:28:07 PM 3 26.88
以上理解不太完全整理,后边理解深刻后再来修正
网友评论