You can use the vmstat command to report virtual memory statistics and information about system events such as CPU load, paging, number of context switches, device interrupts, and system calls. The vmstat command can also display statistics on swapping, cache flushing, and interrupts.
The following table describes the fields in the vmstat command output.
Table 20.1. Output From the vmstat Command
Category |
Field Name |
Description |
---|---|---|
|
|
Reports on the following: |
|
|
The number of kernel threads in the dispatch queue |
|
|
The number of blocked kernel threads that are waiting for resources |
|
|
The number of swapped out LWPs that are waiting for processing resources to finish |
|
|
Reports on usage of real memory and virtual memory: |
|
|
Available swap space |
|
|
Size of the free list |
|
|
Reports on page faults and paging activity, in units per second: |
|
|
Pages reclaimed |
|
|
Minor faults and major faults |
|
|
Kbytes paged in |
|
|
Kbytes paged out |
|
|
Kbytes freed |
|
|
Anticipated memory that is needed by recently swapped-in processes |
|
|
Pages scanned by the page daemon not currently in
use. If |
|
|
Reports the number of disk operations per second, showing data on up to four disks |
|
|
Reports the trap/interrupt rates per second: |
|
|
Interrupts per second |
|
|
System calls per second |
|
|
CPU context switch rate |
|
|
Reports on the use of CPU time: |
|
|
User time |
|
|
System time |
|
|
Idle time |
For a more detailed description of this command, see the vmstat ( 1M ) man page.
How to Display Virtual Memory Statistics (vmstat)
Collect virtual memory statistics by using the vmstat command with a time interval in seconds.
$vmstat
n
where n
is the interval in seconds between
reports.
Example 20.1. Displaying Virtual Memory Statistics
The following example shows the vmstat display of statistics that were gathered at five-second intervals.
$ vmstat 5
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr dd f0 s1 -- in sy cs us sy id
0 0 0 863160 365680 0 3 1 0 0 0 0 0 0 0 0 406 378 209 1 0 99
0 0 0 765640 208568 0 36 0 0 0 0 0 0 0 0 0 479 4445 1378 3 3 94
0 0 0 765640 208568 0 0 0 0 0 0 0 0 0 0 0 423 214 235 0 0 100
0 0 0 765712 208640 0 0 0 0 0 0 0 3 0 0 0 412 158 181 0 0 100
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 157 179 0 0 100
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 403 153 182 0 0 100
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 168 177 0 0 100
0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 153 178 0 0 100
0 0 0 765832 208760 0 18 0 0 0 0 0 0 0 0 0 407 165 186 0 0 100
How to Display System Event Information (vmstat -s)
Run the vmstat -s command to show how many system events have taken place since the last time the system was booted.
$ vmstat -s
0 swap ins
0 swap outs
0 pages swapped in
0 pages swapped out
522586 total address trans. faults taken
17006 page ins
25 page outs
23361 pages paged in
28 pages paged out
45594 total reclaims
45592 reclaims from free list
0 micro (hat) faults
522586 minor (as) faults
16189 major faults
98241 copy-on-write faults
137280 zero fill page faults
45052 pages examined by the clock daemon
0 revolutions of the clock hand
26 pages freed by the clock daemon
2857 forks
78 vforks
1647 execs
34673885 cpu context switches
65943468 device interrupts
711250 traps
63957605 system calls
3523925 total name lookups (cache hits 99%)
92590 user cpu
65952 system cpu
16085832 idle cpu
7450 wait cpu
How to Display Swapping Statistics (vmstat -S)
Run vmstat -S to show swapping statistics.
$ vmstat -S
kthr memory page disk faults cpu
r b w swap free si so pi po fr de sr dd f0 s1 -- in sy cs us sy id
0 0 0 862608 364792 0 0 1 0 0 0 0 0 0 0 0 406 394 213 1 0 99
The swapping statistics fields are described in the following list. For a description of the other fields, see Table 20–1.
si
Average number of LWPs that are swapped in per second
so
Number of whole processes that are swapped out
The vmstat
command truncates the output of si
and so
fields. Use the sar
command
to display a more accurate accounting of swap statistics.
How to Display Interrupts Per Device (vmstat -i)
Run the vmstat -i command to show the number of interrupts per device.
Example 20.2. Displaying Interrupts Per Device
The following example shows output from the vmstat -i command.
$ vmstat -i
interrupt total rate
--------------------------------
clock 52163269 100
esp0 2600077 4
zsc0 25341 0
zsc1 48917 0
cgsixc0 459 0
lec0 400882 0
fdc0 14 0
bppc0 0 0
audiocs0 0 0
--------------------------------
Total 55238959 105