1. A method for memory management of processors running in a virtual computer environment and of processes running in an operating system environment, the method comprising: identifying a usage pattern of a page in memory, the usage pattern identified by tracking operations conducted with respect to the page; designating the page as a candidate for sharing when the usage pattern reflects that a number of updates made to the page does not exceed a predefined threshold value, the candidate page allocated to at least one of a first process and a first virtual machine; and sharing access to the candidate page with at least one of a second process and a second virtual machine when content in the candidate page matches content of a page allocated to the at least one of a second process and second virtual machine by remapping an address space of the page allocated to the at least one of a second process and second virtual machine to an address space of the candidate page.