vmstat 是一个收集和报告系统内存,swap,处理器资源的工具。

vmstat reports information about processes, memory, paging, block IO, traps, disks and cpu activity.


vmstat 的使用非常简单,直接运行

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0   9496 1632720 1179760 4628968    0    0     9    37   55   12  3  1 96  0  0

输出一大串数据,这一串数据是 vmstat 从开机到运行命令之间记录的平均数据。

vmstat [delay] [count]

第一行会打印平均值,之后每隔 [delay] 的时间,打印一次报告,在打印 [count] 次之后停止。


   r: The number of runnable processes (running or waiting for run time).
   b: The number of processes in uninterruptible sleep.

   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)

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

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

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

   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, included in idle.
   st: Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown.