Obtaining a load balance is essential if the program performance of distributed shared memory (DSM) systems is to be optimized. In achieving this load balance, most DSM systems simply distribute program threads in accordance with the CPU power of the individual processors within the network. However, memory access costs also play a significant role in determining the program performance. Although the threads will be able to complete their tasks, their execution will inevitably be delayed by the latency associated with executing the page replacements. With the rapid development of CPU chips, the relative influence of this memory access latency upon the overall program performance has become increasingly significant. Therefore, attempts to minimize the execution time of applications by establishing a load balance based purely upon CPU resource considerations will only achieve limited success. The current study proposes a new load balancing scheme for DSM systems which considers both CPU and memory resources. The present results confirm the importance of considering memory resources when addressing the load balancing of DSM systems. It is shown that the proposed method is more effective than previous schemes which considered only CPU resources or memory resources.