Monitor Solaris system load with vmstat

Keeping an eye on system performance is critical for many applications. The vmstat program provides detailed if cryptic information about the system load.

To keep an eye on the system, use the follwoing command:

vmstat 1

The 1 specifies the number of seconds between updates. Below is sample output from vmstat

kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr s0 s6 s7 s8 in sy cs us sy id
0 0 0 2391680 990680 53 11 96 0 0 0 0 2 0 0 0 504 164 124 1 5 95
1 0 0 2378024 896472 0 6 0 0 0 0 0 0 0 0 0 403 51 71 0 2 65
3 0 0 2378024 896472 0 0 0 0 0 0 0 0 0 0 0 402 57 71 1 2 37

To get a quick feel for the system load, look at the last and first columns. The last column is the CPU idle (larger is better); a very busy system will show zero. The first column is the number of processes waiting for the cpu. The uptime load is an average of this value over periods of time (see the recipe Determine the system CPU load using uptime). The number of waiting processes should be less than 4 times the number of processors in the system for optimal load.

The swap and memory colums display the amount of free swap space and physical memory in KB. The pi and po colums show the number of KB pages in and out of memory, respectively. If these values are consistently very high, they may indicate a need for more physical memory.

The columns under the disk category show the number of disk operations per second. The s columns represent different disks on the system.


About Quinn McHenry

Quinn was one of the original co-founders of Tech-Recipes. He is currently crafting iOS applications as a senior developer at Small Planet Digital in Brooklyn, New York.
View more articles by Quinn McHenry

The Conversation

Follow the reactions below and share your own thoughts.

  • Anonymous

    nice post