You can use the vmstat command to report virtual memory statistics and such information about system events 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.
Refer to vmstat(1M) for a more detailed description of this command.
Collect virtual memory statistics using the vmstat command with a time interval.
$ vmstat n |
n |
Interval in seconds between reports. |
The table below describes the fields in the vmstat output.
Table 36-1 Output From the vmstat Command
Category |
Field Name |
Description |
---|---|---|
procs |
|
Reports the following states: |
|
r |
The number of kernel threads in the dispatch queue |
|
b |
Blocked kernel threads waiting for resources |
|
w |
Swapped out LWPs waiting for processing resources to finish |
memory |
|
Reports on usage of real and virtual memory: |
|
swap |
Available swap space |
|
free |
Size of the free list |
page |
|
Reports on page faults and paging activity, in units per second: |
|
re |
Pages reclaimed |
|
mf |
Minor and major faults |
|
pi |
Kbytes paged in |
|
po |
Kbytes paged out |
|
fr |
Kbytes freed |
|
de |
Anticipated memory needed by recently swapped-in processes |
|
sr |
Pages scanned by page daemon (not currently in use). If sr does not equal zero, the page daemon has been running. |
disk |
|
Reports the number of disk operations per second, showing data on up to four disks |
faults |
|
Reports the trap/interrupt rates (per second): |
|
in |
Interrupts per second |
|
sy |
System calls per second |
|
cs |
CPU context switch rate |
cpu |
|
Reports on the use of CPU time: |
|
us |
User time |
|
sy |
System time |
|
id |
Idle time |
The following example shows the vmstat display of statistics gathered at five-second intervals.
$ vmstat 5 procs memory page disk faults cpu r b w swap free re mf pi po fr de sr f0 s3 -- -- in sy cs us sy id 0 0 8 28312 668 0 9 2 0 1 0 0 0 1 0 0 10 61 82 1 2 97 0 0 3 31940 248 0 10 20 0 26 0 27 0 4 0 0 53 189 191 6 6 88 0 0 3 32080 288 3 19 49 6 26 0 15 0 9 0 0 75 415 277 6 15 79 0 0 3 32080 256 0 26 20 6 21 0 12 1 6 0 0 163 110 138 1 3 96 0 1 3 32060 256 3 45 52 28 61 0 27 5 12 0 0 195 191 223 7 11 82 0 0 3 32056 260 0 1 0 0 0 0 0 0 0 0 0 4 52 84 0 1 99 |
Run vmstat -s to show the total of various system events that have taken place since the system was last booted.
$ vmstat -s 0 swap ins 0 swap outs 0 pages swapped in 0 pages swapped out 392182 total address trans. faults taken 20419 page ins 923 page outs 30072 pages paged in 9194 pages paged out 65167 total reclaims 65157 reclaims from free list 0 micro (hat) faults 392182 minor (as) faults 19383 major faults 85775 copy-on-write faults 66637 zero fill page faults 46309 pages examined by the clock daemon 6 revolutions of the clock hand 15578 pages freed by the clock daemon 4398 forks 352 vforks 4267 execs 12926285 cpu context switches 109029866 device interrupts 499296 traps 22461261 system calls 778068 total name lookups (cache hits 97%) 18739 user cpu 34662 system cpu 52051435 idle cpu 25252 wait cpu |
Run vmstat -S to show swapping statistics.
$ vmstat -S procs memory page disk faults cpu r b w swap free si so pi po fr de sr f0 s0 s6 -- in sy cs us sy id 0 0 0 200968 17936 0 0 0 0 0 0 0 0 0 0 0 109 43 24 0 0 100 |
The fields are described in the table below.
Table 36-2 Output From the vmstat -S Command
Field Name |
Description |
---|---|
si |
Average number of LWPs swapped in per second |
so |
Number of whole processes swapped out |
The vmstat command truncates the output of both of these fields. Use the sar command to display a more accurate accounting of swap statistics.
Run vmstat -c to show cache flushing statistics for a virtual cache.
$ vmstat -c usr ctx rgn seg pag par 0 60714 5 134584 4486560 4718054 |
It shows the total number of cache flushes since the last boot. The cache types are described in the table below.
Table 36-3 Output From the vmstat -c Command
Cache Name |
Cache Type |
---|---|
usr |
User |
ctx |
Context |
rgn |
Region |
seg |
Segment |
pag |
Page |
par |
Partial-page |
Run vmstat -i to show interrupts per device.
$ vmstat -i |
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 |