作用: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,表示物理内存容量太小。