Linux Command - vmstat
The Linux vmstat command reports info about processes, memory, paging, block IO, traps, disks and cpu activity
The default behavior is to give you averages since boot and then to continously give output for a repeating sampling period. Some options will just return specified info instead of taking repeated samples.
- Some options may require root access. ( not supposed to though )
Usage:
vmstat [options] [delay [count]]
Just get averages since boot:
vmstat
Update sample every 2 seconds:
vmstat 2
Update sample every 3 seconds and repeat 5 times:
vmstat 3 5
Stats for partition:
vmstat -p /dev/sda1 1 2
Some Options
Can repeat:
-m | SLAB MODE - Displays slabinfo. |
-d | DISK MODE - Report disk statistics (2.5.70 or above required). |
-p | PARTITION MODE - Detailed statistics about partition (2.5.70 or above required). |
-a | Display active and inactive memory, given a 2.5.41 kernel or better. |
-n | Display the header only once rather than periodically. |
-S | specify unit: 1000 (k), 1024 (K), 1000000 (m), or 1048576 (M). No affect on swap (si/so) or block (bi/bo) fields. |
-t | Append timestamp to each line |
-w | Wide output mode ( in case output doesn’t fit ) |
-y | Omits first report with statistics since system boot. |
Does not repeat:
-f, –forks | The -f switch displays the number of forks since boot. |
-s, –stats | Displays a table of various event counters and memory statistics. |
-D, –disk-sum | Report some summary statistics about disk activity. |
-V, –version | Display version information and exit. |
-h, –help | Display help and exit. |
FIELD DESCRIPTION FOR VM MODE
Procs
r | The number of runnable processes (running or waiting for run time). |
b | The number of processes blocked waiting for I/O to complete. |
Memory
- These are affected by the –unit option.
swpd | the amount of swap 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
- These are affected by the –unit option.
si | Amount of memory swapped in from disk (/s). |
so | Amount of memory swapped to disk (/s). |
IO
bi | Kibibyte received from a block device (KiB/s). |
bo | Kibibyte sent to a block device (KiB/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, included in idle. |
st | Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown. |
gu | Time spent running KVM guest code (guest time, including guest nice). |
FIELD DESCRIPTION FOR DISK MODE
Reads
total | Total reads completed successfully |
merged | grouped reads (resulting in one I/O) |
sectors | Sectors read successfully |
ms | milliseconds spent reading |
Writes
total | Total writes completed successfully |
merged | grouped writes (resulting in one I/O) |
sectors | Sectors written successfully |
ms | milliseconds spent writing |
IO
cur | I/O in progress |
s | seconds spent for I/O |
FIELD DESCRIPTION FOR DISK PARTITION MODE
reads | Total number of reads issued to this partition |
read sectors | Total read sectors for partition |
writes | Total number of writes issued to this partition |
requested writes | Total number of write requests made for partition |
FIELD DESCRIPTION FOR SLAB MODE
cache | Cache name |
num | Number of currently active objects |
total | Total number of available objects |
size | Size of each object |
pages | Number of pages with at least one active object |
This was based on: vmstat from procps-ng 4.0.2