基础命令学习目录首页

原文链接:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858775.html

简介

mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据;而类似工具vmstat只能查看系统整体cpu情况。

语法

mpstat [-P {|ALL}] [internal [count]]
参数 解释
-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值
internal 相邻的两次采样的间隔时间、
count 采样的次数,count只能和delay一起使用
当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。

实例

查看多核CPU核心的当前运行状况信息, 每2秒更新一次

mpstat  219:45:12 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
19:45:14 all 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.96
19:45:16 all 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 99.97
19:45:18 all 0.00 0.07 0.07 0.00 0.00 0.00 0.00 0.00 99.87

如果要看每个cpu核心的详细当前运行状况信息,输出如下:

mpstat  -P ALL 2

19:43:58     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
19:43:59 all 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 99.96
19:43:59 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
19:43:59 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
.......
19:43:59 13 0.99 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.01
19:43:59 14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
19:43:59 15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

字段的含义如下

%user      在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程  (usr/total)*100
%nice 在internal时间段里,nice值为负进程的CPU时间(%) (nice/total)*100
%sys 在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

计算公式如下

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是 Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
 
mpstat的语法如下
 
mpstat [-P {cpu|ALL}] [internal [count]]1
其中,各参数含义如下:
 
  参数
  含义
 
  -P {cpu l ALL}
  表示监控哪个CPU, cpu在[0,cpu个数-1]中取值
  internal
  相邻的两次采样的间隔时间
  count
  采样的次数,count只能和delay一起使用
 
 
使用mpstat命令
1.直接使用mpstat命令:
 
mpstat1
 
当mpstat不带参数时,输出为从系统启动以来的平均值。
2.使用mpstat -P ALL 5 2命令
 
mpstat -P ALL 5 21
表示每5秒产生一个报告,总共产生2个。
 
上图表示每5秒产生了2个关于处理器的统计数据报告,一共产生2个interval 的信息,然后再给出这2个interval的平均信息。默认时,输出是按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的活跃状态。
 
输出参数含义
当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。
输出各参数含义:
 
  参数
  释义
  从/proc/stat获得数据
 
  CPU
  处理器ID
 
  %usr
  在internal时间段里,用户态的CPU时间(%),不包含 nice值为负进程
  usr/total*100
  %nice
  在internal时间段里,nice值为负进程的CPU时间(%)
  nice/total*100
  %sys
  在internal时间段里,核心时间(%)
  system/total*100
  %iowait
  在internal时间段里,硬盘IO等待时间(%)
  iowait/total*100
  %irq
  在internal时间段里,硬中断时间(%)
  irq/total*100
  %soft
  在internal时间段里,软中断时间(%)
  softirq/total*100
  %steal
  显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
  steal/total*100
  %guest
  显示运行虚拟处理器时CPU花费时间的百分比
  guest/total*100
  %gnice
 
  gnice/total*100
  %idle
  在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%)
  idle/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_pre1234567
其中_cur 表示当前值,_pre表示interval时间前的值。上表中的所有值可取到两位小数点。
Note:
1.vmstat和mpstat 命令的差别:mpstat 可以显示每个处理器的统计,而 vmstat 显示所有处理器的统计。因此,编写糟糕的应用程序(不使用多线程体系结构)可能会运行在一个多处理器机器上,而不使用所有处理器。从而导致一个 CPU 过载,而其他 CPU 却很空闲。通过 mpstat 可以轻松诊断这些类型的问题。 
2.vmstat中所有关于CPU的总结都适合mpstat。当您看到较低的 %idle 数字时,您知道出现了 CPU 不足的问题。当您看到较高的 %iowait 数字时,您知道在当前负载下 I/O 子系统出现了某些问题。
---------------------
作者:nana-li
来源:CSDN
原文:https://blog.csdn.net/quiet_girl/article/details/50697412
版权声明:本文为博主原创文章,转载请附上博文链接!
 
 

mpstat命令详解的更多相关文章

  1. Ubuntu 14.10 下CPU实时监控mpstat命令详解

    简介 mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查 ...

  2. Linux CPU实时监控mpstat命令详解

    简介 mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查 ...

  3. Linux就业技术指导(五):Linux运维核心管理命令详解

    一,Linux核心进程管理命令 1.1 ps:查看进程 1.1.1 命令解释 功能说明 ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片.如果想要动态地显示进程,就需要使 ...

  4. Linux 系统性能监控命令详解

    Linux 系统性能监控命令详解 CPU MEMORY IO NETWORK LINUX进程内存占用查看方法 系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(pag ...

  5. 云计算:Linux运维核心管理命令详解

    云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...

  6. Linux命令详解——vmstat

    Vmstat命令详解 一.前言 vmstat命令:  用来获得有关进程.虚存.页面交换空间及 CPU活动的信息.这些信息反映了系统的负载情况 二.虚拟内存运行原理 在系统中运行的每个进程都需要使用到内 ...

  7. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  8. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  9. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

随机推荐

  1. Python基础-画图:matplotlib.pyplot.scatter

    转载自博客:https://blog.csdn.net/qiu931110/article/details/68130199 matplotlib.pyplot.scatter 1.scatter函数 ...

  2. sql三表查询

    情景: student  id    stname    sex score   scoreid  stname  birth course id    coursename  age 简单说明  a ...

  3. VMware Tools安装方法及解决无法全屏显示问题

    环境:VMware8.0虚拟机        ubuntu:12.04 在刚安装完ubuntu后,屏幕不能全屏显示,此时: 1.安装VMware Tools 步骤: 1.1     进入ubuntu系 ...

  4. Apache Shiro(一)-登录认证和权限管理初识

    What is Apache Shiro? Apache Shiro是一个功能强大.灵活的,开源的安全框架.它可以干净利落地处理身份验证.授权.企业会话管理和加密. Apache Shiro的首要目标 ...

  5. vue请求本地自己编写的json文件。

    1.第一步,这是目录结构 2.接下来是build/webpack.dev.conf.js文件需要配置的内容 代码: //vue配置请求本地json数据const express = require(' ...

  6. ruby的循环控制命令loop等

    ruby的循环有以下几种: times方法 for while until(与while相反) each(与for极度相似,在ruby内部,for语句是用each实现的) loop(无限循环,与bre ...

  7. c语言数组放在main函数里面和外面的区别

    最近a算法题的时候碰到一道题:一个数列前三项都为1,之后每项的值等于前三项之和,求第20193024项的最后4位数字.一开始写的代码如下: 结果一直爆 Terminated due to signal ...

  8. react-native使用redux 存在的坑

    前几天安卓真机测试的时候,突然发现一个严重的问题. 后退两次退出应用,再开启白屏.而杀掉进程后再开启就是好的. 这个重大bug我跟了好久,以为是splash-screen的问题. 后来一点一点打con ...

  9. PCIE_DMA实例一:xapp1052详细使用说明

    一:前言 很多和我一样初学pcie的硬件工程师都会遇到这样一个问题,看了不少pcie相关的资料,还是搞不清这玩意儿到底该怎么用.于是我们打开ISE的core_generator工具,生成了一个pcie ...

  10. jQuery学习-页面就绪函数

    1.开发工具HBuilder <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...