vmstat是一个相当全面的性能分析工具,可以用来观察系统的进程状态、内存使用情况、

虚拟内存的使用情况、磁盘的I/O、系统的中断以及上下文切换、cpu的使用情况等性能信息。

主要用法:

vmstat  delay count

其中 delay是输出的时间间隔,count是输出的次数

例如:

用vmstat来监控linux系统的整体性能_第1张图片


各个性能字段中各参数的说明:

procs:

r:等待运行的进程数

b:处在非中断睡眠状态的进程数


memory:

swpd:虚拟内存的使用量,单位为KB

free:空闲的内存,单位为KB

buff:被用来作为缓存的内存,单位为KB

cache:用作缓存的内存,单位为KB


swap:

si:从磁盘交换到内存的交换页数量,单位为KB

so:从内存交换到硬盘的交换页数量,单位为KB


io:

bi:从块设备接受到的块数,单位为块

bo:发送到块设备的块数,单位为块


system:

in:每秒中断的次数,包括时钟中断

cs:每秒的环境(上下文)切换次数


cpu:

按总的cpu时间的百分比显示

us:用户cpu时间,包括nice time(执行的是非内核代码)

sy:系统cpu时间(执行的是内核代码)

id:cpu闲置时间,包括I/O-等待时间

wa:I/O等待时间,包括在闲置时间内


注意:在标准情况下,r和b的值应该为:

r<5,b≈0

假设输出的信息中:

r经常大于3或4,切id经常少于50%,表示cpu的负荷很重;

bi、bo长期不等于0,表示内存不足;

disk经常不等于0,且在b中的队列大于2或3,表示I/O 的性能不好。