mpstat (RHEL5默认不安装)

mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与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时,第一行的信息自系统启动以来的平均信息。

从第二行开始,输出为前一个interval时间段的平均信息。与CPU有关的输出的含义如下:

[oracle@Test ~]$ mpstat -P ALL

Linux 2.6.18-194.el5 (Test.linux.com)   2010年06月22日

09时18分18秒  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s

09时18分18秒  all    0.06    0.00    0.43    0.78    0.00    0.00    0.00   98.71   1069.35

09时18分18秒    0    0.05    0.00    0.36    0.17    0.02    0.00    0.00   99.41   1032.01

09时18分18秒    1    0.04    0.00    0.42    0.07    0.00    0.00    0.00   99.47      0.26

09时18分18秒    2    0.11    0.00    0.28    0.08    0.00    0.00    0.00   99.52      0.00

09时18分18秒    3    0.07    0.00    0.48    0.05    0.00    0.00    0.00   99.39      0.01

09时18分18秒    4    0.08    0.00    0.19    5.63    0.00    0.02    0.00   94.08     24.51

09时18分18秒    5    0.05    0.00    0.63    0.11    0.00    0.00    0.00   99.21      0.22

09时18分18秒    6    0.07    0.00    0.45    0.10    0.00    0.01    0.00   99.36     12.33

09时18分18秒    7    0.05    0.00    0.64    0.07    0.00    0.00    0.00   99.24      0.00

参数 解释 从/proc/stat获得数据CPU 处理器ID

user 在internal时间段里,用户的CPU时间(%) ,不包含 nice值为负 进程 (usr/total)*100

nice 在internal时间段里,nice值为负进程的CPU时间(%)   (nice/total)*100

system 在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

intr/s 在internal时间段里,每秒CPU接收的中断的次数intr/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_pre

其中_cur 表示当前值,_pre表示interval时间前的值。上表中的所有值可取到两位小数点。

范例1:average mode (粗略信息)当mpstat不带参数时,输出为从系统启动以来的平均值。

[work@builder linux-2.6.14]$ mpstat

Linux 2.6.9-5.31AXsmp (builder.redflag-linux.com) 12/16/2005

09:38:46 AM CPU %user %nice %system %iowait %irq %soft %idle intr/s

09:38:48 AM all 23.28 0.00 1.75     0.50 0.00 0.00 74.47 1018.59

范例2: 每2秒产生了2个处理器的统计数据报告

下面的命令可以每2秒产生了2个处理器的统计数据报告,一共产生三个interval 的信息,然后再给出这三个interval的平均信息。默认时,输出是按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的活跃状态。

[root@server yum_dir]# mpstat -P ALL 2 3

Linux 2.6.18-164.el5 (server.sys.com)    01/04/2010

09:34:20 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

09:34:22 PM all    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00   1001.49

09:34:22 PM    0    0.00    0.00    0.50    0.00    0.00    0.00    0.00   99.50   1001.00

09:34:22 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00      0.00

09:34:22 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

09:34:24 PM all    0.00    0.00    0.25    0.00    0.00    0.00    0.00   99.75   1005.00

09:34:24 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00   1005.50

09:34:24 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00      0.00

09:34:24 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

09:34:26 PM all    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00   1001.49

09:34:26 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00   1001.00

09:34:26 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00      0.00

Average:     CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

Average:     all    0.00    0.00    0.08    0.00    0.00    0.00    0.00   99.92   1002.66

Average:       0    0.00    0.00    0.17    0.00    0.00    0.00    0.00   99.83   1002.49

Average:       1    0.00    0.00    0.00    0.00    0.00    0.00    0.00 100.00      0.00

范例3:比较带参数和不带参数的mpstat的结果。

在后台开一个2G的文件

# cat 1.img &

然后在另一个终端运行mpstat命令

[root@server ~]# cat 1.img &

[1] 6934

[root@server ~]# mpstat

Linux 2.6.18-164.el5 (server.sys.com)    01/04/2010

10:17:31 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

10:17:31 PM all    0.07    0.02    0.25    0.21    0.01    0.04    0.00   99.40   1004.57

[root@server ~]# mpstat

Linux 2.6.18-164.el5 (server.sys.com)    01/04/2010

10:17:35 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

10:17:35 PM all    0.07    0.02    0.25    0.21    0.01    0.04    0.00   99.39   1004.73

[root@server ~]# mpstat

Linux 2.6.18-164.el5 (server.sys.com)    01/04/2010

10:17:39 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

10:17:39 PM all    0.07    0.02    0.25    0.21    0.01    0.04    0.00   99.38   1004.96

[root@server ~]# mpstat

Linux 2.6.18-164.el5 (server.sys.com)    01/04/2010

10:17:44 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

10:17:44 PM all    0.07    0.02    0.26    0.21    0.01    0.05    0.00   99.37   1005.20

[root@server ~]# mpstat 3 10

Linux 2.6.18-164.el5 (server.sys.com)    01/04/2010

10:17:55 PM CPU   %user   %nice    %sys %iowait    %irq   %soft %steal   %idle    intr/s

10:17:58 PM all   13.12    0.00   20.93    0.00    1.83    9.80    0.00   54.32   2488.08

10:18:01 PM all   10.82    0.00   19.30    0.83    1.83    9.32    0.00   57.90   2449.83

10:18:04 PM all   10.95    0.00   20.40    0.17    1.99    8.62    0.00   57.88   2384.05

10:18:07 PM all   10.47    0.00   18.11    0.00    1.50    8.47    0.00   61.46   2416.00

10:18:10 PM all   11.81    0.00   22.63    0.00    1.83   11.98    0.00   51.75   2210.60

10:18:13 PM all    6.31    0.00   10.80    0.00    1.00    5.32    0.00   76.58   1795.33

10:18:19 PM all    1.75    0.00    3.16    0.75    0.25    1.25    0.00   92.85   1245.18

10:18:22 PM all   11.94    0.00   19.07    0.00    1.99    8.29    0.00   58.71   2630.46

10:18:25 PM all   11.65    0.00   19.30    0.50    2.00    9.15    0.00   57.40   2673.91

10:18:28 PM all   11.44    0.00   21.06    0.33    1.99   10.61    0.00   54.56   2369.87

Average:     all    9.27    0.00   16.18    0.30    1.50    7.64    0.00   65.11   2173.54

[root@server ~]#

上两表显示出当要正确反映系统的情况,需要正确使用命令的参数。vmstat 和iostat 也需要注意这一问题。

linux实时系统监控工具mpstat的更多相关文章

  1. Linux 系统管理命令 - mpstat - CPU信息统计

    命令详解 重要星级: ★★★★☆ 功能说明: mpstat 是 Multiprocessor Statistics 的缩写,是一种实时系统监控工具.mpstat 命令会输出 CPU 的一些统计信息,这 ...

  2. 管理员必备的Linux系统监控工具

    管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图, 也就是正在运行进程.在默认情况下,显示系统 中CPU使用率最高的任务,并每5秒钟刷新一次. ...

  3. 【转】管理员必备的Linux系统监控工具

    原文连接: 管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图,也就是正在运行进程.在默认情况下,显示系统中CPU使用率最高的任务,并每5秒钟刷 ...

  4. linux系统监控工具

    Linux性能监控工具 top   提供运行系统的动态实时视图.显示系统摘要信息以及任务列表 uptime    显示系统平均负载 ps.pstree    提供当前进程列表 free  显示系统中空 ...

  5. LinuxCPU性能监控工具---mpstat

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

  6. linux命令总结mpstat命令

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

  7. Linux流量监控工具-iftop教程

    Linux流量监控工具-iftop教程http://automationqa.com/forum.php?mod=viewthread&tid=2854&fromuid=2

  8. Linux 流量监控工具 iftop

    Linux 流量监控工具 iftop Iftop工具主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同哪台机器间的流量大小,非常适合于代理服务器和iptables服务器使用,这样可以方便的查 ...

  9. Linux系统性能监控工具介绍之-tsar

    Linux系统性能监控工具介绍之-tsar Linux系统性能监控工具介绍之-tsar 2017-03-02 20:25 175人阅读 评论(0) 收藏 举报  分类: LINUX调优(9)    目 ...

随机推荐

  1. 最后的egret

    坚持做一件事真的好难~ 决定重新写博客的时候想着一定要坚持一个周一篇,然而.... 年后上班老板找我的第一件大事:以后公司的棋牌产品不会有大的动作了:公司PHP(内部用的运营后台)的小姐姐休产假了,我 ...

  2. LintCode刷题笔记-- A+B problem

    标签: 位运算 描述 Write a function that add two numbers A and B. You should not use + or any arithmetic ope ...

  3. 郝斌–SQL Server2005学习笔记

    数据库(Database)狭义上是指存储数据的仓库,广义上包含对数据进行存储和管理的软件(DBMS)和数据本身.数据库由表.关系和操作组成. 一.数据库简介 1.为什么需要数据库 数据库简化了对数据的 ...

  4. sqlserver存储过程事务回滚

    set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[AddUserOnChannel] ), ), @Channe ...

  5. Spark运行架构详解

    原文引自:http://www.cnblogs.com/shishanyuan/p/4721326.html 1. Spark运行架构 1.1 术语定义 lApplication:Spark Appl ...

  6. jqGrid的subGrid子表格

    使用完整jqGrid作为子表格 使用子表格,涉及到jqGrid的三个选项: subGrid :首先必须将jqGrid的subGrid选项设置为true,默认为false:当此项设为true的时候,Gr ...

  7. [CQOI2009]叶子的染色【性质+树形Dp】

    Online Judge:Bzoj1304,Luogu P3155 Label:无根树,树形Dp 题目描述 给定一棵\(N\)个节点的无根树,它一共有\(K\)个叶子节点.你可以选择一个度数大于1的节 ...

  8. LA4794 Sharing Chocolate

    传送门 记忆化搜索. 在下觉得sxy大佬的代码写得相当好,通篇的骚操作(因为我都不会呀),%%% 学到了 预处理每个状态的值.以前的我都是zz地枚举每一位.. for(int i=1;i<(1& ...

  9. 前端面试题之一HTML

    一.doctype作用? 严格模式与混杂模式如何区分?它们有何意义? (1)<!doctype>声明位于文档中的最前面的第一行,其作用告知浏览器用什么标准解析这个文档,并以浏览器支持的最高 ...

  10. SQL Server 2008 分区函数和分区表

      当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小.维护任务(例如,重新生成索引或备份表)也可以更快的运行 ...