vmstat命令学习

vmstat 是Linux/Unix系统用来进行系统监控的工具

监控的目标主要有目标服务器的cpu使用率、内存的使用情况、虚拟内存交换情况,IO读写情况。

可以通过vmstat --help来获得该命令的帮组信息。

vmstat命令主要两个参数,如

vmstat m n

m 表示采样数据的时间间隔,单位为秒,该参数可单独使用,单独使用时会按照指定间隔持续采样。

n 表示采样的次数

例如 vmstat 5 2 表示每5秒采样一次数据,共采样2次,2次采样后命令自动结束。

 

[oracle@std ~]$ vmstat 5 2
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 832624 126056 959240    0    0     4    12  204   62  0  0 99  1  0
 0  0      0 832624 126056 959240    0    0     0    58 1015   84  0  0 99  1  0

 

对主要参数介绍如下:

----proces-----

r   运行的队列,等待执行的任务数,当这个值超过cpu的个数时,就会出现cpu瓶颈。

b   等待资源的进程数,比如正等待IO或内存交换等。

 

----memory------

swpd  使用内存交换区的数量(单位为K),如果该值大于0,则表示机器物理内存可能不足,

      在一些情况下如果swpd不为0或者比较大,只要si、so的值长期为0,系统性能还是正常。

free  空闲物理内存大小。

buff  已使用的buff大小,buff的作用一般用来缓冲对块设备的读写。

cache 已使用的cache大小,cache一般用作文件系统,如果cache比较大,说明用到cache的文件比较多,

      如果此时IO中的bi比较小,则说明文件系统的效率比较好。  

 

----swap-----

si  每秒从交换区写入到内存的大小(单位kb/s)

so  每秒从内存写入到交换区的大小(单位kb/s)

 

----io--------

bi  每秒从块设备读到的块数(读磁盘)

bo  每秒写块设备的块数(写磁盘)

 

-----system------

in  在间隔时间内观察到的每秒设备中断数

cs  每秒的上下文切换数

    备注:这两个值越大,表示内存消耗cpu时间越多

 

------cpu--------

us  用户进程消耗cpu的时间,如果该值长期处在高位(50%以上),就需要考虑优化程序或其他措施。

sy  系统进程消耗cpu的时间,如果该值过高,说明系统内核消耗cup的时间过高,说明系统效率不高。

       us+sy>80%说明可能存在cpu不足

id  空间时间,包括IO等待时间。

wa  等待IO时间,如果该值过高,说明IO等待比较严重,有IO瓶颈。

 

posted @ 2015-06-02 10:05  蚂蚁快跑  阅读(247)  评论(0编辑  收藏  举报