这篇文章主要介绍一些Linux性能检测相关的命令。 vmstat和iostat的两个命令可以运行在主流的Linux/Unix操作系统上。

如果vmstat和iostat命令不能再你的电脑上运行,请安装sysstat包。因为vmstat和iostat命令是集成在SYSSTAT(系统监视工具)包里面。 iostat命令主要生成CPU和所有设备统计报告。你可以下载并安装SYSSTAT,如果使用源代码tar包安装,从这里下载SYSSTAT,但我们建议你使用yum命令安装。

Linux下安装Sysstat

  1. # yum -y install sysstat

vmstat:搜集内存、进程,paging等信息

iostat:中央处理单元(CPU)的统计数据和设备、分区输入/输出统计信息。

在Linux下6个vmstat命令例子:

1、列出活动和非活动的内存

在下面的示例中,有6列。每列的详细介绍在vmstat的man手册都会有详细解释。最显著的字段是memory下的free,swap下的si以及so。

  1. [root@tecmint ~]# vmstat -a
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
  3. r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
  4. 1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0

A、free : 空闲的空间。

B、si : 从磁盘到Swap的速度是千字节每秒。

C、so :从Swape到磁盘的速度是千字节每秒。

注意:如果您运行vmstat不带参数,它缺省会显示汇总报告。

2、每隔'X'秒执行vmstat一次(N为执行的次数)

使用此命令,执行的vmstat每隔2秒钟执行一次,执行6次后自动停止。

  1. [root@tecmint ~]# vmstat 2 6
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
  3. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  4. 0  0      0 810420  22064 101368    0    0    56     3   50   57  0  3 95  2  0
  5. 0  0      0 810412  22064 101368    0    0     0     0   16   35  0  0 100  0  0
  6. 0  0      0 810412  22064 101368    0    0     0     0   14   35  0  0 100  0  0
  7. 0  0      0 810412  22064 101368    0    0     0     0   17   38  0  0 100  0  0
  8. 0  0      0 810412  22064 101368    0    0     0     0   17   35  0  0 100  0  0
  9. 0  0      0 810412  22064 101368    0    0     0     0   18   36  0  1 100  0  0

3、vmstat命令带时间戳

vmstat命令使用-t参数显示时间戳,如下图所示的每一行都会记录。

  1. [tecmint@tecmint ~]$ vmstat -t 1 5
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
  3. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  4. 0  0      0 632028  24992 192244    0    0    70     5   55   78  1  3 95  1  0        2012-09-02 14:57:18 IST
  5. 1  0      0 632028  24992 192244    0    0     0     0  171  514  1  5 94  0  0        2012-09-02 14:57:19 IST
  6. 1  0      0 631904  24992 192244    0    0     0     0  195  600  0  5 95  0  0        2012-09-02 14:57:20 IST
  7. 0  0      0 631780  24992 192244    0    0     0     0  156  524  0  5 95  0  0        2012-09-02 14:57:21 IST
  8. 1  0      0 631656  24992 192244    0    0     0     0  189  592  0  5 95  0  0        2012-09-02 14:57:22 IST

4、各种计数器的统计信息

用vmstat -s参数来显示各种事件计数器和内存统计信息。

  1. [tecmint@tecmint ~]$ vmstat -s
  2. 1030800  total memory
  3. 524656  used memory
  4. 277784  active memory
  5. 185920  inactive memory
  6. 506144  free memory
  7. 26864  buffer memory
  8. 310104  swap cache
  9. 2064376  total swap
  10. 0  used swap
  11. 2064376  free swap
  12. 4539 non-nice user cpu ticks
  13. 0 nice user cpu ticks
  14. 11569 system cpu ticks
  15. 329608 idle cpu ticks
  16. 5012 IO-wait cpu ticks
  17. 79 IRQ cpu ticks
  18. 74 softirq cpu ticks
  19. 0 stolen cpu ticks
  20. 336038 pages paged in
  21. 67945 pages paged out
  22. 0 pages swapped in
  23. 0 pages swapped out
  24. 258526 interrupts
  25. 392439 CPU context switches
  26. 1346574857 boot time
  27. 2309 forks

5、磁盘统计

用vmstat的-d选项显示所有磁盘的统计数据。

  1. [tecmint@tecmint ~]$ vmstat -d
  2. disk- ------------reads------------ ------------writes----------- -----IO------
  3. total merged sectors      ms  total merged sectors      ms    cur    sec
  4. ram0       0      0       0       0      0      0       0       0      0      0
  5. ram1       0      0       0       0      0      0       0       0      0      0
  6. ram2       0      0       0       0      0      0       0       0      0      0
  7. ram3       0      0       0       0      0      0       0       0      0      0
  8. ram4       0      0       0       0      0      0       0       0      0      0
  9. ram5       0      0       0       0      0      0       0       0      0      0
  10. ram6       0      0       0       0      0      0       0       0      0      0
  11. ram7       0      0       0       0      0      0       0       0      0      0
  12. ram8       0      0       0       0      0      0       0       0      0      0
  13. ram9       0      0       0       0      0      0       0       0      0      0
  14. ram10      0      0       0       0      0      0       0       0      0      0
  15. ram11      0      0       0       0      0      0       0       0      0      0
  16. ram12      0      0       0       0      0      0       0       0      0      0
  17. ram13      0      0       0       0      0      0       0       0      0      0
  18. ram14      0      0       0       0      0      0       0       0      0      0
  19. ram15      0      0       0       0      0      0       0       0      0      0
  20. loop0      0      0       0       0      0      0       0       0      0      0
  21. loop1      0      0       0       0      0      0       0       0      0      0
  22. loop2      0      0       0       0      0      0       0       0      0      0
  23. loop3      0      0       0       0      0      0       0       0      0      0
  24. loop4      0      0       0       0      0      0       0       0      0      0
  25. loop5      0      0       0       0      0      0       0       0      0      0
  26. loop6      0      0       0       0      0      0       0       0      0      0
  27. loop7      0      0       0       0      0      0       0       0      0      0
  28. sr0        0      0       0       0      0      0       0       0      0      0
  29. sda     7712   5145  668732  409619   3282  28884  257402  644566      0    126
  30. dm-0   11578      0  659242 1113017  32163      0  257384 8460026      0    126
  31. dm-1     324      0    2592    3845      0      0       0       0      0      2

6、统计显示以MB为单位

vmstat以兆为单位显示,用参数-S和M(大写)。参数-S对应的值可以是k, K, m or M (默认为 kb)

  1. [root@tecmint ~]# vmstat -S M 1 5
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
  3. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  4. 0  0      0    346     53    476    0    0    95     8   42   55  0  2 96  2  0
  5. 0  0      0    346     53    476    0    0     0     0   12   15  0  0 100  0  0
  6. 0  0      0    346     53    476    0    0     0     0   32   62  0  0 100  0  0
  7. 0  0      0    346     53    476    0    0     0     0   15   13  0  0 100  0  0
  8. 0  0      0    346     53    476    0    0     0     0   34   61  0  1 99  0  0

在Linux下6个iostat命令例子

7、显示CPU和I/O统计信息

iostat的不带参数的显示CPU和I/ O的所有分区的统计信息,如下图所示。

  1. [root@tecmint ~]# iostat
  2. Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
  3. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  4. 0.12    0.01    1.54    2.08    0.00   96.24
  5. Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
  6. sda               3.59       161.02        13.48    1086002      90882
  7. dm-0              5.76       159.71        13.47    1077154      90864
  8. dm-1              0.05         0.38         0.00       2576          0

8、只显示CPU的统计信息

用iostat的-c参数,如下图所示只显示CPU统计信息。

  1. [root@tecmint ~]# iostat -c
  2. Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
  3. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  4. 0.12    0.01    1.47    1.98    0.00   96.42

9、只显示磁盘的I/O统计

用iostat的-D参数显示只有I/O的所有分区的统计数据。

  1. [root@tecmint ~]# iostat -d
  2. Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
  3. Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
  4. sda               3.35       149.81        12.66    1086002      91746
  5. dm-0              5.37       148.59        12.65    1077154      91728
  6. dm-1              0.04         0.36         0.00       2576          0

10、只显示单一设备的I/O统计信息。

默认情况下,它会显示所有分区的统计信息,使用-p和设备名称参数只显示只显示磁盘用于特定设备的I/O统计信息。

  1. [root@tecmint ~]# iostat -p sda
  2. Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
  3. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  4. 0.11    0.01    1.44    1.92    0.00   96.52
  5. Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
  6. sda               3.32       148.52        12.55    1086002      91770
  7. sda1              0.07         0.56         0.00       4120         18
  8. sda2              3.22       147.79        12.55    1080650      91752

11、显示LVM统计

使用-n(大写)参数只显示LVM的统计数据,如图所示。

  1. [root@tecmint ~]# iostat -N
  2. Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
  3. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  4. 0.11    0.01    1.39    1.85    0.00   96.64
  5. Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
  6. sda               3.20       142.84        12.16    1086002      92466
  7. vg_tecmint-lv_root     5.13       141.68        12.16    1077154      92448
  8. vg_tecmint-lv_swap     0.04         0.34         0.00       2576          0

12、iostat的版本。

与-V(大写)参数显示iostat的版本,如下所示。

  1. [root@tecmint ~]# iostat -V
  2. sysstat version 9.0.4

Linux系统性能监控之6个vmstat和6个iostat命令的更多相关文章

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

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

  2. linux系统性能监控--网络利用率

    Linux中提供了许多有助于评估各种 Linux网络性能的监视工具,其中一些监视工具也可用于解决网络问题以及监视性能. Linux内核为用户提供了大量的网络系统信息,这有助于监视网络的健康状态并检测在 ...

  3. linux系统性能监控--I/O利用率

    尽管整体的处理器速度. 内存大小以及 I/O执行速度在不断提高,但 I/O操作的吞吐率和延迟性能仍然要比等价的内存访问操作低多个数量级.另外,由于许多工作负荷都拥有重要的I/O组件,I/O处理很容易成 ...

  4. Linux系统性能监控

    系统的性能指标主要包括CPU.内存.磁盘I/O.网络几个方面. 1. CPU性能 (1)利用vmstat命令监控系统CPU 该命令可以显示关于系统各种资源之间相关性能的简要信息,这里我们主要用它来看C ...

  5. linux系统性能监控常用命令

      一.Linux服务器性能关注点 1)CPU -> load:表示cpu在一段时间内正在处理以及等待处理的任务之和统计信息,简单可理解为cpu正处理的线程数和能同时处理的线程数的比值.一般认为 ...

  6. linux系统性能监控--内存利用率

    Linux提供了对物理内存进行合理.高效的访问并可以访问潜在的海量虚存的技术.虚存通常稍多于操作系统实际拥有的内存容量,以便将较少使用的数据卸载到磁盘存储器上,同时又呈现出系统拥有大量物理内存的假象. ...

  7. linux系统性能监控--CPU利用率

    在对系统的方法化分析中,首要且最基本的工具之一常常是对系统的 CPU利用率进行简单测量. Linux以及大多数基于 UNIX的操作系统都提供了一条命令来显示系统的平均负荷(loadaverage) . ...

  8. 使用vmstat和iostat命令进行Linux性能监控【转】

    转自:https://linux.cn/article-4024-1.html 这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系 ...

  9. vmstat和iostat命令进行Linux性能监控

    这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和 ...

随机推荐

  1. fiddler怎么修改服务器返回参数并发送

    在进行使用fiddler中提供了较多的功能进行使用的,那么进行就可以对当前的网页中的暂停之后,在进行使用fiddler中把拦截起的后,在进行修改的服务器参数的之后,在把参数修改完成之后,把进行发送出去 ...

  2. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...

  3. Linux chattr 命令

    不让用户修改.删除文件等,使用 chattr保护 chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files… 最关键的是在[mode]部分,[m ...

  4. Javascript判断Crontab表达式是否合法

    这段时间在做Quartz任务调度,使用的Crontab表达式实现的.Crontab由前端页面输入,作为参数穿入后台. 虽然Quartz具有校验Crontab表达式的方法,如下: boolean cro ...

  5. (转载)【TP5.0】设置session有效时长+修改默认存储路径

        //查看默认session存储路径:print_r(session_save_path());   \thinkphp\helper.php if (!function_exists('ses ...

  6. 利用LD_PRELOAD hook代码

    loader在进行动态链接的时候,会将有相同符号名的符号覆盖成LD_PRELOAD指定的so文件中的符号.换句话说,可以用我们自己的so库中的函数替换原来库里有的函数,从而达到hook的目的.这和Wi ...

  7. Hopfield神经网络和TSP问题

    一.TSP问题 旅行商问题,又叫货郎担问题.它是指如下问题:在完全图中寻找一条最短的哈密尔顿回路. 哈密尔顿回路问题:给定一个图,判断图中是否存在哈密尔顿回路. 哈密尔顿回路:寻找一条回路,经过图中所 ...

  8. JAVA基本值类型

    Java定义了8个简单(或基本)的数据类型:------------------------------------------------------字节型(byte),短整型(short),整型( ...

  9. nginx last 和break redirect 和 permanent

    一.last & break (1)last 和 break 当出现在location 之外时,两者的作用是一致的没有任何差异. 注意一点就是,他们会跳过所有的在他们之后的rewrite 模块 ...

  10. [转]java调用外部程序Runtime.getRuntime().exec

    Runtime.getRuntime().exec()方法主要用于执行外部的程序或命令. Runtime.getRuntime().exec共有六个重载方法: public Process exec( ...