vmstat:报告虚拟内存统计信息

作用:vmstat命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。由vmstat命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

用法:vmstat [-V] [-n] [延时[次数]]

主要选项如下。

-n:开关令第一次的信息只显示一次而不是周期地产生。

延时:是以秒为单位的刷新时间间隔。如果没有给出此延时时间,则仅显示系统启动至今的平均值。

次数:指的是更新的次数。如果没有指定次数而又定义了延时时间,则次数的默认值是无穷次。

-V:开关可以用来输出该命令的版本信息。

应用实例如下。

使用vmstat 5 5(表示在5秒时间内进行5次采样)命令测试:

#vmstat 5 5

procs memory

swap io system cpu

r b w swpd free buff cache si

so bi bo in cs us sy id

0 0 0 0 32188 6412 47252 0

0 200 47 121 89 8 6 85

0 0 0 0 32188 6420 47252 0

0 0 6 101 20 0 0 100

0 0 0 0 32188 6420 47252 0

0 0 0 101 19 0 0 100

0 0 0 0 32188 6420 47252 0

0 0 0 101 20 0 0 100

0 0 0 0 32188 6420 47252 0

0 0 0 101 22 0 0 100

结果将得到一个数据汇总,它可以反映真正的系统情况。vmstat命令输出分成6个部分。

(1)进程procs

r:在运行队列中等待的进程数。

b:在等待I/O的进程数。

w:可以进入运行队列但被替换的进程。

(2)内存memory

swpd:现时可用的交换内存,单位为KB。

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

buff:缓冲区中的内存数,单位为KB。

cache:被用来作为高速缓存的内存数,单位为KB。

(3)swap交换页面

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

so:从内存交换到磁盘的交换页数量,单位为KB/s。

(4)I/O块设备

bi:发送到块设备的块数,单位为块/秒。

bo:从块设备接收到的块数,单位为块/秒。

(5)system系统

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

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

(6)CPU中央处理器

cs:用户进程使用的时间,以百分比表示。

sy:系统进程使用的时间,以百分比表示。

id:中央处理器的空闲时间,以百分比表示。

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