This is the first article of a series regarding the memory management in VMware ESX/ESXi strategy advised by Eco4Cloud and facilitated through the use of Eco4Cloud’s workload consolidation, smart ballooning and troubleshooter solutions. The topic of this article is memory reservation.
As described in VMware’s white paper Understanding Memory Resource Management in VMware® ESX™ Server, ESX offers several memory levels:
- Host physical memory refers to the memory that is visible to the hypervisor as available on the system.
- Guest physical memory refers to the memory that is visible to the guest operating system running in the virtual machine.
- Guest virtual memory refers to a continuous virtual address space presented by the guest operating system to applications. It is the memory that is visible to the applications running inside the virtual machine.
Memory reservation is essentially the process guaranteeing that the guest physical memory is always backed by the host physical memory, whether the ESX server is under memory pressure or not (memory pressure will be covered by the following articles of this series).
Memory reservation is a critical configuration that must be dealt with carefully, in fact this is what VMware states in its vSphere Resource Management Guide:
Use Reservation to specify the minimum acceptable amount of CPU or memory, not the amount you want to have available.
When specifying the reservations for virtual machines, do not commit all resources (plan to leave at least 10% unreserved). As you move closer to fully reserving all capacity in the system, it becomes increasingly difficult to make changes to reservations and to the resource pool hierarchy without violating admission control.
Memory reservation strategy advised by Eco4Cloud
Memory reservation is then an essential feature to guarantee performance to virtual machines, but aggressive memory reservation can have BAD effects on other virtual machines, such as poor consolidation, awful performances, or inability to power on new virtual machines because of admission control rules.
Eco4Cloud advises to use a de-facto standard strategy, which consists of grouping virtual machines in priority-based resource pools, defined at each cluster level, and setting reservations at resource pools level.
By doing so, very active VMs enjoy the memory reservation feature, while the less active ones do not pile-up and waste idle memory.
The reserved memory right-sizing for each resource pool can then be set following several strategies, based on the active memory of the virtual machines in the resource pool.