The most common cause of an apparent processor bottleneck is a memory bottleneck. If the system does not have enough physical memory to store the code and data programs need, the processor spends substantial time paging. Before adding or upgrading processors or disks, you should monitor the memory in your server. For more information about monitoring memory, see Chapter 5, "Monitoring Virtual Memory."