1. A system, comprising: near memory; far memory, wherein a performance characteristic of the near memory is non-identical to the performance characteristic of the far memory; at least one processor that is configured to execute: a first virtual machine that is allocated a first portion of the near memory and a first portion of the far memory; a second virtual machine that is allocated a second portion of the near memory and a second portion of the far memory; a predictor component that is configured to predict: accesses to the first portion of the near memory and accesses to the first portion of the far memory by the first virtual machine; and accesses to the second portion of the near memory and accesses to the second portion of the far memory by the second virtual machine; and a memory management system that is configured to allocate the first portion of the near memory to the second virtual machine based upon the accesses to the first portion of the near memory, the first portion of the far memory, the second portion of the near memory, and the second portion of the far memory predicted by the predictor component.