1. A computer-implemented method for symmetric live migration of virtual machines, the computer-implemented method comprising the steps of: generating a first least recently used map for a set of memory pages of a first virtual machine, the first least recently used map including metadata for each of the memory pages of the first virtual machine, and the metadata comprising a physical address location for each of the memory pages of the first virtual machine; sending, from the first virtual machine to a second virtual machine while the first virtual machine is executing, a first of the memory pages of the first virtual machine and the metadata for the first memory page of the first virtual machine; and receiving, from the second virtual machine at the first virtual machine, a first memory page of the second virtual machine and metadata for the first memory page of the second virtual machine, wherein the memory pages of the first virtual machine are ordered from a first location of the first least recently used map to a last location of the first least recently used map based on how recently each of the memory pages of the first virtual machine has been used, with the memory page that has been least recently used being indicated by the first location of the first least recently used map, and the memory page that has been most recently used being indicated by the last location of the first least recently used map, and the first memory page of the first virtual machine is located at the first location of the first least recently used map, and the first memory page of the second virtual machine is located at a corresponding first location of a second least recently used map for the memory pages of the second virtual machine.