A suitable workload distribution is essential for obtaining good performance on software distributed shared memory (DSM) systems. The methods proposed by the past DSM researches only simply distribute program threads in accordance with the CPU power of the individual processors or the data sharing within the DSM applications. These methods expected the minimal program execution time by reducing computation cost and communication cost. However, memory access costs also play a significant role in determining the program performance. If a processor lacks sufficient memory space to cache all of the data required by the working threads, then it will suffer from a series of page faults and will need to execute consecutive page replacements while executing its threads. 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. To resolve this problem, this paper is dedicated to involving memory resource consideration into workload distribution for software DSM systems. The present results confirm the importance of considering memory resources when addressing the workload distribution of DSM systems. It is shown that the proposed method is more effective than previous methods which considered only CPU resource or memory resource.