Traditionally, workload distribution methods for software distributed shared memory systems (DSM) have only considered CPU resource. However, memory resource is also an important consideration for workload distribution. If a processor cannot afford sufficient physical memory space to cache the data required by its assigned threads, it must carry out page replacements during their execution. This delays thread execution, which in turn increases the overall execution time of the user program. This paper proposes a new workload distribution method for DSM systems, which considers both CPU resources and memory resources. The experimental results shows that the proposed method is more effective in minimizing the execution time of applications than methods considering only CPU or memory resources.