1. A method for sharing memory pages in virtual machines, said method comprising: identifying guest memory pages as candidate memory pages; hashing said candidate memory pages; comparing the hash results of said candidate memory pages; determining whether a hash match exists between a first candidate memory page of said candidate memory pages and a second candidate memory page of said candidate memory pages; if said hash match exists, creating an anonymous memory page that includes the information of said first candidate memory page and said second candidate memory page, the anonymous memory page being a memory page that is not mapped in any process address space, wherein the creating includes locking the anonymous memory page in memory; and sharing the anonymous memory page.