2.3.1. Using the vmstat Command The command vmstat is concise. Here we can see a example of not enough cpu capacity for the executing applications. % vmstat 15 procs memory page disk faults cpu r b w swap free re mf pi po fr de sr m0 m1 m2 m3 in sy cs us sy id 45 0 0 2887216 182104 3 707 449 6 455 0 80 2 6 1 0 1531 5797 983 61 30 9 58 0 0 2831312 46408 5 983 582 56 3211 0 492 0 0 0 0 1413 4797 1027 69 31 0 55 0 0 2830944 56064 2 649 656 3 806 0 121 0 0 0 0 1441 4627 989 69 31 0 57 0 0 2827704 48760 4 818 723 6 800 0 121 0 0 1 0 1606 4316 1160 66 34 0 56 0 0 2824712 47512 6 857 604 56 1736 0 261 0 0 1 0 1584 4939 1086 68 32 0 58 0 0 2813400 47056 7 856 673 33 2374 0 355 0 0 0 0 1676 5112 1114 70 30 0 60 1 0 2816712 49464 7 861 720 6 731 0 110 7 0 3 0 2329 6131 1067 64 36 0 58 0 0 2817552 48392 4 585 521 0 996 0 146 0 0 0 0 1357 6724 1059 71 29 0 Always ignore the first line of vmstat output. The column labelled "r" under the procs section is the run queue of processes waiting to get on the cpus. The "id" column is cpu idle time. This machine lacks the cpu resources to keep up with the process demand as seen by spending the majority of cpu time in user space (see us column). Two approaches can be taken here, add extra cpus or profile the application code to determine if the part of the application can be optimised. A lot of effort can be expended profiling sections of code for little gain, so be realistic. from http://au.sunsolve.sun.com/search/document.do?assetkey=1-9-21622-1&searchclause=sar%20sa1%20sa2%20sadc