红联Linux门户
Linux帮助

Linux监测命令(vmstat)

发布时间:2015-06-16 21:33:10来源:linux网站作者:linux人

命令格式:

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@www ~]# vmstat 2 8
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      0 21928380 471140 9757520    0    0    0    6    9      12  0  0 100  0  0
0  0      0 21928388 471140 9757524    0    0    2    60 1091 2099  0  0 100  0  0
0  0      0 21928372 471140 9757524    0    0    0    58 1067 2085  0  0 100  0  0
0  0      0 21928240 471140 9757524    0    0    0    60 1083 2104  0  0 100  0  0
0  0      0 21928224 471144 9757524    0    0    0    64 1079 2100  0  0 100  0  0
1  0      0 21928224 471144 9757528    0    0    2    52 1081 2092  0  0 100  0  0
0  0      0 21921000 471144 9757528    0    0    6    80 1188 2162  0  0 99    0  0
1  0      0 21920628 471144 9757548    0    0    0    74 1094 2110  0  0 100  0  0


Linux 内存监控vmstat命令输出分成六个部分:

(1)进程procs:
r:在运行队列中等待的进程数 。当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,
服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。
b:在等待io的进程数。当这个一值很高说明I/O等待严重。

(2)Linux 内存监控内存memoy:
swpd:现时可用的交换内存(单位KB)。
free:空闲的内存(单位KB)。
buff: 缓冲去中的内存数(单位:KB)。
cache:被用来做为高速缓存的内存数(单位:KB)。

(3) Linux 内存监控swap交换页面
si: 从磁盘交换到内存的交换页数量,单位:KB/秒。
so: 从内存交换到磁盘的交换页数量,单位:KB/秒。

(4)Linux 内存监控 io块设备:
bi: 发送到块设备的块数,单位:块/秒。
bo: 从块设备接收到的块数,单位:块/秒。

(5)Linux 内存监控system系统:
in: 每秒的中断数,包括时钟中断。
cs: 每秒的环境(上下文)转换次数。

(6)Linux 内存监控cpu中央处理器:
cs:用户进程使用的时间 。以百分比表示。  如果在使用大于40%,那么我们就该考虑优化程
sy:系统进程使用的时间。 以百分比表示。  如果在使用超过40%,那么我们就该考虑操作系统BUG或者被公交等等.....
id:中央处理器的空闲时间 如果长期超过50% 如果在使用超过40%,那么我们就该考虑优化程序算法或者添加CPU

wa:IO等待消耗的CPU时间百分比 wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。

假如 r经常大于 4 ,且id经常小于40,表示中央处理器的负荷很重。 假如bi,bo 长期不等于0,表示物理内存容量太小


总结:用这个命令收集信息,可以帮助我们分析出来服务器是I/O问题,还是CPU问题,很管用命令。


Linux性能监控指令vmstat:http://www.linuxdiyf.com/linux/10821.html

使用vmstat和iostat命令进行Linux性能监控:http://www.linuxdiyf.com/linux/10403.html

Linux命令:检查系统资源变化(vmstat):http://www.linuxdiyf.com/linux/5391.html

Linux vmstat命令实战详解:http://www.linuxdiyf.com/linux/3688.html

Linux vmstat进程信息和内存信息:http://www.linuxdiyf.com/linux/467.html