Finding the bottleneck
The aspects of the system that you are most interested in measuring are CPU usage and memory usage.
It is possible that even after extensive tuning efforts the CPU is not powerful enough to handle the workload, in which case a CPU upgrade is required. Similarly, if the program is running in an environment in which it does not have enough memory after tuning, you must increase memory size.
- CPU
- Memory
- Input/Output (I/O)
> vmstat 1 10
outputs: kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 189898 612 0 0 0 3 11 0 178 606 424 6 1 92 1
1 0 189898 611 0 1 0 0 0 0 114 4573 122 96 4 0 0
1 0 189898 611 0 0 0 0 0 0 115 420 102 99 0 0 0
1 0 189898 611 0 0 0 0 0 0 115 425 91 99 0 0 0
1 0 189898 611 0 0 0 0 0 0 114 428 90 99 0 0 0
1 0 189898 610 0 1 0 0 0 0 117 333 102 97 3 0 0
1 0 189898 610 0 0 0 0 0 0 114 433 91 99 1 0 0
1 0 189898 610 0 0 0 0 0 0 114 429 94 99 1 0 0
1 0 189898 610 0 0 0 0 0 0 115 437 94 99 0 0 0
1 0 189898 609 0 1 0 0 0 0 116 340 99 98 2 0 0
The previous example shows a system that is CPU bound. This can be seen as the user (us) plus system (sy) CPU values either equal or are approaching 100. A system that is memory bound shows significant values of page in (pi) and page out (po). A system that is disk I/O bound will show an I/O wait percentage (wa) exceeding 10%. More details of vmstat can be found in AIX debugging commands.