日期:2014-05-16  浏览次数:20703 次

Linux vmstat命令

vmstat命令,可以查看CPU使用,内存使用,虚拟内存交换使用,IO读写情况

常用用法举例: vmstat 1 10 (1表示每隔1秒采集一次,10表示采集10次),如下:

[root@c1 ~]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 263436  74788 553092    0    0   892    67 1083  783  2  9 84  4  0
 0  0      0 263436  74788 553092    0    0     0     0  715  778  0  1 99  0  0
 1  0      0 263436  74788 553092    0    0     0    12  671  746  1  0 99  0  0
 0  0      0 263436  74788 553116    0    0     0     0  700  750  0  0 100  0  0
 0  0      0 263436  74788 553116    0    0     0     0  712  771  0  0 100  0  0
 0  0      0 263436  74788 553116    0    0     0     0  711  789  0  0 100  0  0
 0  0      0 263436  74788 553120    0    0     0    12  699  765  0  1 99  0  0
 0  0      0 263436  74788 553120    0    0     0     0  716  822  0  1 99  0  0
 0  0      0 263436  74788 553120    0    0     0    56  682  805  0  0 100  0  0
 0  0      0 263436  74788 553120    0    0     0     0  712  808  0  1 99  0  0


procs段:

r:表示运行和等待cpu时间片的进程数,如果此列的值长期大于cpu个数,说明系统有进程在等待cpu,可能系统会运行较慢。

     如果r大于系统中可用CPU个数的4倍,则CPU可能短缺,或是CPU的速率过低,系统中有多较多的进程在等待CPU,造成系统慢。

b:表示每秒等待cpu的进程个数,参考值为2,大于2说明,等待较严重。

memory段

swpd:切换进虚拟内存的数据量(单位kb)

free:当前空闲的内存(单位kb)

buff:即buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或者直接就是disk的缓冲区(单位kb)

cache:即page cache的内存, 文件系统的cache,是memory的缓冲区(单位kb)

swap段

si:即swapin换入(单位kb)

so:即swapout换出(单位kb)

io段

bi:每秒读的数量(单位kb)

bo:每秒写的数量(单位kb)

system段

in:表示设备中断次数数。

cs:表示产生的上下文切换次数,如果cs 比磁盘 I/O 和网络信息包速率高得多,则要仔细观察

cpu段

us:用户进程占用cpu,当长期到50%可以考虑优化用户程序

sy:内核进程占用cpu,如果用户进程+内核进程占用cpu长期在80%以上,可能cpu不足

id:即idle,cpu空闲时间

wa:io等待,即系统等待未完成的 disk/NFS I/O 请求期间的CPU 空闲时间,大于30%以上需观察

st: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比