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 |