Displaying Virtual Memory Statistics (vmstat)

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

procs

Reports on the following:

r

The number of kernel threads in the dispatch queue

b

The number of blocked kernel threads that are waiting for resources

w

The number of swapped out LWPs that are waiting for processing resources to finish

memory

Reports on usage of real memory 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 faults and major faults

pi

Kbytes paged in

po

Kbytes paged out

fr

Kbytes freed

de

Anticipated memory that is needed by recently swapped-in processes

sr

Pages scanned by the 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

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

    Note

    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