vmstat命令详解

一:简介

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析

二:vmstat --help

[root@centos ~]# vmstat --help

Usage:
 vmstat [options] [delay [count]]                 # delay:刷新时间间隔。如果不指定,只显示一条结果。 count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

Options:
 -a, --active           active/inactive memory        # 显示活跃和非活跃内存
 -f, --forks            number of forks since boot    # 显示从系统启动至今的fork数量 
 -m, --slabs            slabinfo                       # 显示slabinfo
 -n, --one-header       do not redisplay header         # 只在开始时显示一次字段名称
 -s, --stats            event counter statistics       # 显示内存相关的统计信息及多种系统活动数量
 -d, --disk             disk statistics                # 显示磁盘相关统计信息
 -D, --disk-sum         summarize disk statistics      # 显示磁盘的总计信息
 -p, --partition <dev>  partition specific statistics  # 显示指定磁盘分区统计信息
 -S, --unit <char>      define display unit            # 使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
 -w, --wide             wide output                    # 更宽的显示信息
 -t, --timestamp        show timestamp                 # 显示时间

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see vmstat(8)

三:使用实例

1:显示虚拟内存使用情况

[root@centos ~]# vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0  87288 150944 1311844    0    0     0    29    7    4  0  0 99  0  0
 0  0      0  86124 150944 1311844    0    0     0     0  170  293  1  1 98  0  0
 0  0      0  85100 150944 1311848    0    0     0    36  162  315  1  0 98  1  0

说明:

proces 进程:

r: 运行队列中进程数量

b: 等待IO的进程数量

memory内存:

swpd: 使用虚拟内存大小

free: 可用内存大小

buff: 用作缓冲的内存大小

cache: 用作缓存的内存大小

swap:

si: 每秒从交换区写到内存的大小

so: 每秒写入交换区的内存大小

IO:

bi: 每秒读取的块数

bo: 每秒写入的块数

system 系统:

in:每秒中断数,包括时钟中断

cs:每秒上下文切换数

cpu百分比表示:

us: 用户进程执行时间(user time)

sy: 系统进程执行时间(system time)

id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

wa: 等待IO时间

st:Steal time  虚拟 CPU 等待实际 CPU 的时间的百分比

 

2:显示活跃和非活跃内存

[root@  centos ~]# vmstat -a 2 4
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 2  0      0  86852 570064 1024796    0    0     0    29    7    4  0  0 99  0  0
 0  0      0  86836 570064 1024836    0    0     0    16  116  219  0  0 99  0  0
 0  0      0  86836 570060 1024840    0    0     0    32  129  251  1  0 99  0  0
 0  0      0  86820 570060 1024844    0    0     0     0  224  440  0  1 99  0  0

memory(内存):

inact: 非活跃内存大小(当使用-a选项时显示)

active: 活跃的内存大小(当使用-a选项时显示)

 

3:显示系统fork了多少次

[root@centos ~]# vmstat -f
      5259978 forks

 

4:查看磁盘的读写

[root@centos ~]# vmstat -d 2 4
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
vda   148899    313 4046458 4895794 23837155 15874488 339477096 518529061      0  30209
vda   148899    313 4046458 4895794 23837164 15874497 339477240 518529135      0  30209
vda   148899    313 4046458 4895794 23837164 15874497 339477240 518529135      0  30209
vda   148899    313 4046458 4895794 23837170 15874512 339477408 518529171      0  30209

说明:

这些信息主要来自于/proc/diskstats.

merged:表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作.

 

5:查看某一磁盘的读写

[root@centos ~]# vmstat -p /dev/vda1
vda1          reads   read sectors  writes    requested writes
              148813    4045074   23819688  339482408

说明:

这些信息主要来自于/proc/diskstats。

reads:来自于这个分区的读的次数。

read sectors:来自于这个分区的读扇区的次数。

writes:来自于这个分区的写的次数。

requested writes:来自于这个分区的写请求次数

posted @ 2016-05-13 21:39  九卷  阅读(1674)  评论(0编辑  收藏  举报