1. A method comprising the following computer-executable acts: in a computing device executing a plurality of virtual machines that access virtual memory in the computing device, characterizing a page in the virtual memory as being short-lived memory rather than long-lived memory, the page allocated to a virtual machine in the plurality of virtual machines, wherein the characterizing of the page in the virtual memory as being short-lived memory rather than long-lived memory is based upon the page becoming free by way of content-based sharing between the virtual machine and a second virtual machine in the plurality of virtual machines; dynamically updating a cache to comprise the page based at least in part upon the characterization of the page in the virtual memory as being short-lived memory rather than long-lived memory, wherein the cache is accessible to the plurality of virtual machines; and responsive to receiving an indication that the virtual machine has requested a write to a shared page between the two virtual machines, re-allocating the page to the virtual machine.