2.5.3. vmstat
For a more concise understanding of system performance, try
vmstat
. With vmstat
, it is possible to get an overview of process, memory, swap, I/O, system, and CPU activity in one line of numbers:
procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 5276 315000 130744 380184 1 1 2 24 14 50 1 1 47 0
The first line divides the fields in six categories, including process, memory, swap, I/O, system, and CPU related statistics. The second line further identifies the contents of each field, making it easy to quickly scan data for specific statistics.
The process-related fields are:
r
-- The number of runnable processes waiting for access to the CPUb
-- The number of processes in an uninterruptible sleep state
The memory-related fields are:
swpd
-- The amount of virtual memory usedfree
-- The amount of free memorybuff
-- The amount of memory used for bufferscache
-- The amount of memory used as page cache
The swap-related fields are:
si
-- The amount of memory swapped in from diskso
-- The amount of memory swapped out to disk
The I/O-related fields are:
bi
-- Blocks sent to a block devicebo
-- Blocks received from a block device
The system-related fields are:
in
-- The number of interrupts per secondcs
-- The number of context switches per second
The CPU-related fields are:
us
-- The percentage of the time the CPU ran user-level codesy
-- The percentage of the time the CPU ran system-level codeid
-- The percentage of the time the CPU was idlewa
-- I/O wait
When
vmstat
is run without any options, only one line is displayed. This line contains averages, calculated from the time the system was last booted.
However, most system administrators do not rely on the data in this line, as the time over which it was collected varies. Instead, most administrators take advantage of
vmstat
's ability to repetitively display resource utilization data at set intervals. For example, the command vmstat 1
displays one new line of utilization data every second, while the command vmstat 1 10
displays one new line per second, but only for the next ten seconds.
In the hands of an experienced administrator,
vmstat
can be used to quickly determine resource utilization and performance issues. But to gain more insight into those issues, a different kind of tool is required -- a tool capable of more in-depth data collection and analysis.