引用
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
0  0    208 508684  95980 770080    0    0     0     0 2252  1064 27  3 70  0
2  0    208 506956  95980 770080    0    0     0    32 2413  1081 11  2 88  0
2  0    208 494348  95980 770080    0    0     0     0 3198  1651 28  4 68  0
0  0    208 493708  95980 770080    0    0     0     0 2569  1072 21  3 77  0
1  0    208 508676  95992 770068    0    0     0   520 2943  1275 11  2 85  1
1  0    208 505988  95996 770324    0    0   160     0 3025  1422 13  3 83  0

vmstat的用法如下:
引用
usage: vmstat [-V] [-n] [delay [count]]
              -V prints version.            
              -n causes the headers not to be reprinted regularly.
              -a print inactive/active page stats.
              -d prints disk statistics
              -D prints disk table
              -p prints disk partition statistics
              -s prints vm table
              -m prints slabinfo
              -S unit size
              delay is the delay between updates in seconds.
              unit size k:1000 K:1024 m:1000000 M:1048576 (default is K)
              count is the number of updates.
-V表示打印出版本信息;
-n表示在周期性循环输出时,输出的头部信息仅显示一次;
delay是两次输出之间的延迟时间;如1表示每隔1s输出一次信息。
count是指按照这个时间间隔统计的次数。如4则表示输出总共统计4次,输出结束。
对于vmstat输出各字段的含义,可以man一下

引用
Procs
       r: The number of processes waiting for run time.
       b: The number of processes in uninterruptible sleep.

   Memory
       swpd: the amount of virtual memory used.
       free: the amount of idle memory.
       buff: the amount of memory used as buffers.
       cache: the amount of memory used as cache.
       inact: the amount of inactive memory. (-a option)
       active: the amount of active memory. (-a option)

   Swap
       si: Amount of memory swapped in from disk (/s).
       so: Amount of memory swapped to disk (/s).

   IO
       bi: Blocks received from a block device (blocks/s).
       bo: Blocks sent to a block device (blocks/s).

   System
       in: The number of interrupts per second, including the clock.
       cs: The number of context switches per second.

   CPU
       These are percentages of total CPU time.
       us: Time spent running non-kernel code. (user time, including nice time)
       sy: Time spent running kernel code. (system time)
       id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
       wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.

英文对于某些同志理解有困难,用中文比较容易让人理解,下面逐个解释其含义


r 运行的和等待(CPU时间片)运行的进程数,这个值也可以判断是否需要增加CPU(长期大于1)

b 处于不可中断状态的进程数,常见的情况是由IO引起的
w 可以进入运行队列但被替换的进程

memoy
swap 现时可用的交换内存(k表示)
free 空闲的内存(k表示)

pages
re 回收的页面
mf 非严重错误的页面
pi 进入页面数(k表示)
po 出页面数(k表示)
fr 空余的页面数(k表示)
de 提前读入的页面中的未命中数
sr 通过时钟算法扫描的页面
disk 显示每秒的磁盘操作。
fault 显示每秒的中断数
in设备中断
sy系统中断
cycpu交换
cpu 表示cpu的使用状态
cs用户进程使用的时间
sy系统进程使用的时间
idcpu空闲的时间


案例分析
假设输出的信息中  

r经常大于 3-4 ,且id经常少于50,表cpu的负荷很重。
pi,po 长期不等于0,表示内存不足。
disk 经常不等于0, 且在 b中的队列大于2-3, 表示 io性能不好。
Procs r: 运行的进程比较多,系统很繁忙
Io bo: 磁盘写的数据量稍大
Cpu us: 持续大于50-60,服务高峰期可以接受
Cpu wa: 稍微有些高
Cpu id:持续小于50,服务高峰期可以接受