Linux vmstat命令

vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具。

一般格式:
vmstat [-V] [-n] [delay [count]]

常用选项:
-V :打印版本信息。
-n :在周期性循环输出时,输出的头部信息仅显示一次。
delay :两次输出之间间隔多少时间,单位秒。
count :按照这个时间间隔统计的次数。
-a :显示活跃和非活跃内存大小。

举例:
# vmstat 2 3
每隔2秒打印一次,共打印3次。

# vmstat 10
每隔10秒打印一次,直到按Ctrl+C结束。

vmstat命令输出分成六个部分

(1)procs进程:
r:在运行队列中等待的进程数。这个值如果长期大于系统CPU个数,就说明CPU资源不足,可以考虑增加CPU。
b:在等待I/O的进程数。

(2)memoy内存:
swpd:使用虚拟内存大小(单位KB)。
free:空闲的内存数(单位KB)。
buff:用于缓冲区的内存数(单位:KB)。
cache:用于做为高速缓存的内存数(单位:KB)。

(3)swap交换页面:
si: 从磁盘交换区写到内存的页数量,单位:KB/秒。
so: 从内存写到磁盘交换区的页数量,单位:KB/秒。
一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示系统内存不足,需要考虑是否增加系统内存。

(4)io块设备:
bi: 从块设备读入的数据总量(即读磁盘,单位KB/秒)。
bo: 写入到块设备的数据总量(即写磁盘,单位KB/秒)。

(5)system系统:
in: 每秒的中断数,包括时钟中断。
cs: 每秒的环境上下文切换次数。
上面这两个值越大,会看到内核消耗的CPU时间就越多。

(6)cpu中央处理器:
us:用户进程使用的时间,以百分比表示。
sy:系统内核进程使用的时间,以百分比表示。
id:空闲时间,以百分比表示。
wa:等待磁盘IO所占的时间,以百分比表示。wa值越高,说明IO等待越严重。
st:st一般不关注,虚拟机占用的时间百分比。

网上说主要看r、b、bi、bo、wa这几列,查看是否CPU、磁盘I/O资源不足。

参考资料:
http://hi.baidu.com/imlidapeng/blog/item/51872329329ab8335243c1c9.html
http://mylinux.5d6d.com/thread-706-1-1.html

《Linux vmstat命令》上的2个想法

评论已关闭。