主页

索引

模块索引

搜索页面

mstat命令

mpstat 用于多处理器系统中的CPU的利用率的统计

Usage: mpstat [ options... ] [ <interval> [ <count> ] ]
Options are:
[ -P { <cpu> | ALL } ] [ -V ]

实例:

mpstat -P 0 2 10    //查看第一个CPU

mpstat 2 10          //查看所有CPU,也可以使用-p ALL

说明:

%user    显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice    显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
%system 在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait 显示用于等待I/O操作占用 CPU 总时间的百分比。
%irq  显示在interval时间段内,硬中断占用的CPU总时间。
%soft  显示在interval时间段内,软中断占用的CPU总时间。
%steal   管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。
%idle    显示 CPU 空闲时间占用CPU总时间的百分比。
intr/s 在internal时间段里,每秒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时间前的值。上表中的所有值可取到两位小数点

注:mpstat的取值来自于/proc/stat文件,该文件的几个参数解析如下:

ctxt: 给出了自系统启动以来CPU发生的上下文交换的次数
btime: 给出了从系统启动到现在为止的时间,单位为秒
processes (total_forks): 自系统启动以来所创建的任务的个数目
procs_running:当前运行队列的任务的数目
procs_blocked:当前被阻塞的任务的数目

主页

索引

模块索引

搜索页面