首页 > 代码库 > Linux vmstat命令详细解读

Linux vmstat命令详细解读


vmstat命令:用来获得有关进程、虚存、页面交换空间及 CPU活动的信息

vmstat用法及参数:

vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 

-m:显示slabinfo

-n:只在开始时显示一次各字段名称

-s:显示内存相关统计信息及多种系统活动数量

delay:刷新时间间隔。如果不指定,只显示一条结果

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷

-d:显示磁盘相关统计信息

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

-V:显示vmstat版本信息


输出参数解读

[root@localhost~]# vmstat 3  5        #每隔3秒刷新一次数据 刷5次
procs -----------memory----------     ---swap--  -----io-- ---system-- ----cpu----
r  b     swpd   free    buff      cache       si   so    bi    bo    in   cs      us sy id wa
1  0      0 3499840 325189 3695860    0    0     0      1     2    0       0  0 100  0
0  0      0 3499584 325189 3695860    0    0     0     0    88  168     0  0 100  0
0  0      0 3499708 325189 3695860    0    0     0     2    86  162     0  0 100  0
0  0      0 3499708 325189 3695860    0    0     0    10    81  161    0  0 100  0
1  0      0 3499732 325189 3695860    0    0     0     2    83  164     0  0 100  0


r   表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈了

b    表示阻塞的进程

swpd  虚拟内存已使用的大小

free  空闲的物理内存的大小

buff  缓冲区内存大小

cache 高速缓存的内存大小

si   每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了

so    每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上

bi   块设备每秒接收的块数量

bo   块设备每秒发送的块数量

in   每秒CPU的中断次数,包括时间中断

cs   每秒上下文切换次数

us   用户使用CPU时间

sy   系统使用CPU时间

id   空闲CPU时间,一般来说,id + us + sy = 100,可以理解为:id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率

wa    等待IO消耗的CPU时间


本文出自 “实用Linux知识技能分享” 博客,请务必保留此出处http://superleedo.blog.51cto.com/12164670/1889383

Linux vmstat命令详细解读