Abstract:
A technique for efficient swap space management creates a swap reservation file using thick provisioning to accommodate a maximum amount of memory reclamation from a set of one or more associated virtual machines (VMs). A VM swap file is created for each VM using thin provisioning. When a new block is needed to accommodate page swaps to a given VM swap file, a block is removed from the swap reservation file and a block is added to the VM swap file, thereby maintaining a net zero difference in overall swap storage. The removed block and the added block may be the same storage block if a block move operation is supported by a file system implementing the swap reservation file and VM swap files. The technique also accommodates swap space management of resource pools.
Abstract:
A technique for efficient swap space management creates a swap reservation file using thick provisioning to accommodate a maximum amount of memory reclamation from a set of one or more associated virtual machines (VMs). A VM swap file is created for each VM using thin provisioning. When a new block is needed to accommodate page swaps to a given VM swap file, a block is removed from the swap reservation file and a block is added to the VM swap file, thereby maintaining a net zero difference in overall swap storage. The removed block and the added block may be the same storage block if a block move operation is supported by a file system implementing the swap reservation file and VM swap files. The technique also accommodates swap space management of resource pools.
Abstract:
A memory scheduler in a hypervisor allocates physical memory to virtual machines (VMs) based on memory usages metrics generated within the VMs and provided to the hypervisor. More particularly, the memory scheduler determines an allocation target for each VM based on a guest-generated memory usage metric associated with the VM. The allocation target can be increased or decreased from its previous value to reflect changing needs in the VM. Physical memory is allocated when a VM requests it, and is reclaimed during a reclamation process based on its associated allocation target.
Abstract:
Memory pages that are allocated to a memory consumer and continue to be accessed by the memory consumer are included in a free list, so that they may be immediately allocated to another memory consumer as needed during the course of normal operation without preserving the original contents of the memory page. When a memory page in the free list is accessed to perform a read, a generation number associated with the memory page is compared with a stored copy. If the two match, the read is performed on the memory page. If the two do not match, the read is not performed on the memory page.
Abstract:
A memory scheduler in a hypervisor allocates physical memory to virtual machines (VMs) based on memory usages metrics generated within the VMs and provided to the hypervisor. More particularly, the memory scheduler determines an allocation target for each VM based on a guest-generated memory usage metric associated with the VM. The allocation target can be increased or decreased from its previous value to reflect changing needs in the VM. Physical memory is allocated when a VM requests it, and is reclaimed during a reclamation process based on its associated allocation target.
Abstract:
Memory pages that are allocated to a memory consumer and continue to be accessed by the memory consumer are included in a free list, so that they may be immediately allocated to another memory consumer as needed during the course of normal operation without preserving the original contents of the memory page. When a memory page in the free list is accessed to perform a read, a generation number associated with the memory page is compared with a stored copy. If the two match, the read is performed on the memory page. If the two do not match, the read is not performed on the memory page.