vmstat reports information about processes, memory, paging, block IO, traps, and cpu activity.
The first report produced gives averages since the last reboot. Additional reports give information on a sampling period of length delay. The process and memory reports are instantaneous in either case.
The -n switch causes the header to be displayed only once rather than periodically.
delay is the delay between updates in seconds. If no delay is specified, only one report is printed with the average values since boot.
count is the number of updates. If no count is specified and delay is defined, count defaults to infinity.
r: The number of processes waiting for run time. b: The number of processes in uninterruptable sleep. w: The number of processes swapped out but otherwise runnable. This field is calculated, but Linux never desperation swaps.
swpd: the amount of virtual memory used (kB). free: the amount of idle memory (kB). buff: the amount of memory used as buffers (kB).
si: Amount of memory swapped in from disk (kB/s). so: Amount of memory swapped to disk (kB/s).
bi: Blocks sent to a block device (blocks/s). bo: Blocks received from 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.
vmstat does not require special permissions.
These reports are intended to help identify system bottlenecks. Linux vmstat does not count itself as a running process.