Patent ID: 8799554

Claim:
A system for allocating resources in a virtualized environment, the system comprising: a central processing unit (CPU) scheduler for allocating CPU resources of a physical computing system to a plurality of virtual machine instances, wherein a virtual machine instance is allocated a CPU resource during the instance's active time; and a virtual memory manager for allocating memory resources of the physical computing system to the plurality of virtual machine instances, the virtual memory manager configured to: receive scheduling information from the CPU scheduler, the scheduling information comprising data on inactive times for each of the plurality of virtual machine instances, wherein the inactive time for each virtual machine instance is based, at least in part, on the active times of the other virtual machine instances on the physical computing system, including a first virtual machine instance; identify one or more memory pages associated with the first virtual machine instance wherein the one or more memory pages are maintained in computer memory; and schedule unloading of the one or more memory pages associated with the first virtual machine instance from the computer memory based in part on the inactive times for the plurality of virtual machine instances; wherein the plurality of virtual machine instances share the CPU resources and memory resources of the physical computing system.