1. A logically-partitioned data processing system comprising: a plurality of processors; at least one memory, wherein processor resources of the plurality of processors and memory resources of the at least one memory are allocated to a plurality of logical partitions; and program code configured to: after the processor and memory resources are allocated to the plurality of logical partitions in the logically-partitioned data processing system, monitor local and non-local memory accesses by the plurality of logical partitions; determine whether to reallocate the processor and memory resources for the plurality of logical partitions based on the monitored local and non-local memory accesses, wherein the determination by the program code of whether to reallocate the processor and memory resources for the plurality of logical partitions based on the monitored local and non-local memory accesses is based at least in part on a ratio of non-local memory accesses to local memory accesses for each memory resource of each logical partition; and in response to determining to reallocate the processor and memory resources for the plurality of logical partitions, dynamically reallocate the processor and memory resources to the plurality of logical partitions in the logically-partitioned data processing system.