[Linux] vmstat统计CPU、内存、IO信息

vmstat(Virtual Meomory Statistics,虚拟内存统计)

可以获取系统性能的粗略信息:
正在运行的进程个数
CPU的使用情况
CPU接收的中断个数
调度器执行的上下文切换次数
----------------------------------------
使用了多少交换分区
物理内存是如何被使用的
有多少空闲内存
----------------------------------------
提供系统整体上的I/O性能情况

用法:

# vmstat --help
usage: vmstat [-V] [-n] [delay [count]]
              -V prints version.
              -n causes the headers not to be reprinted regularly.
              -a print inactive/active page stats.
              -d prints disk statistics
              -D prints disk table
              -p prints disk partition statistics
              -s prints vm table
              -m prints slabinfo
              -t add timestamp to output
              -S unit size
              delay is the delay between updates in seconds.
              unit size k:1000 K:1024 m:1000000 M:1048576 (default is K)
              count is the number of updates.

vmstat的两种模式:采样模式和平均模式。
1)平均模式:不指定参数,vmstat显示从系统启动以来所有统计数据的平均值。

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  50272 2200684 248636 5715800    0    0     0     1    1    2  1  4 94  0  0

cpu -- 从启动开始,CPU有1%的时间用于执行用户应用程序代码(us),4%的时间用于执行系统代码(sy),94%的时间处于空闲状态(id);列wa表示用于I/O的时间。

memory -- 系统已有约49MB的内存交换到了硬盘(swpd);约2GB系统内存是空闲的(free);约242MB用于缓冲区,以保存还未刷新到硬盘的数据;约5.5GB用于硬盘缓存,以保存过去从硬盘读取的数据。

如果指定延迟,第一个采样仍然是系统启动以来的平均值,之后是按延迟秒数采样的统计数据。

# vmstat 2 -t
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  50272 2196688 248636 5715828    0    0     0     1    1    2  1  4 94  0  0      2020-02-25 10:37:25 CST
 0  0  50272 2196688 248636 5715828    0    0     0     0 3498 9513  3  3 94  0  0      2020-02-25 10:37:27 CST
 0  0  50272 2196696 248636 5715828    0    0     0     4 3481 9716  2  2 96  0  1      2020-02-25 10:37:29 CST
 0  0  50272 2196696 248636 5715828    0    0     0    16 3546 10163  2  2 95  1  1     2020-02-25 10:37:31 CST
^C

2)采样模式:vmstat [delay [count]], delay指定间隔秒数,count指定采样次数

# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0  50272 2198668 248636 5715876    0    0     0     1    1    2  1  4 94  0  0
 2  0  50272 2198620 248636 5715876    0    0     0    26 4045 10908  3  2 92  2  1
 0  1  50272 2198044 248636 5715876    0    0     0    44 3816 9832  3  4 90  3  1

procs -- r列显示当前可运行进程数,这些进程没有等待I/O,且已经准备好运行;b列显示等待I/O完成的被阻塞的进程数。

swap -- si列显示在每个采样期间,数据的读交换率(KB);so列显示在每个采样期间,数据的写交换率(KB)。

io -- bo列表示前次间隔中被写入磁盘的总块数,bi列表示前次间隔中从磁盘读出的总块数(vmstat内磁盘的典型块大小为1024字节)。

 
可以使用tee命令打印的同时将结果输出到文件
vmstat 2 3 | tee test
vmstat 2 3 | tee -a test(追加)

-s选项一次性输出vmstat收集的系统统计的详细信息。该信息为系统启动后的总数据。

# vmstat -s
     28743056  total memory
     26548420  used memory
     21617760  active memory
      4352892  inactive memory
      2194636  free memory
       248636  buffer memory
      5715932  swap cache
     33554428  total swap
        50272  used swap
     33504156  free swap
     27216148 non-nice user cpu ticks
         6122 nice user cpu ticks
    114801765 system cpu ticks
   2495460355 idle cpu ticks
      2857283 IO-wait cpu ticks
           70 IRQ cpu ticks
       184074 softirq cpu ticks
      4031175 stolen cpu ticks
       449294 pages paged in
     27536506 pages paged out
          376 pages swapped in
        12618 pages swapped out
   1113043977 interrupts
   2793579371 CPU context switches
   1575961704 boot time
     10339975 forks  --> 从系统启动开始,已经创建的新进程数量

-a选项改变内存统计信息的默认输出,显示活跃/非活跃内存量,不显示缓冲区和高速缓存使用的情况信息。如下,活跃内存有约1183MB,不活跃的内存有约1.2GB。

# vmstat -a
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 13555156 1286948 1211176    0    0     0     0    1    1  0  0 100  0  0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值