VMware ESX Server Memory Management Best Practices
Virtual memory is a popular technique used mostly in common operating systems, and almost all modern trendy processors have hardware to support it.
Virtual memory builds a uniform virtual address space for housing applications and permits the operating system and the hardware to manage the address translation among the virtual address space and the physical address space.
Such mechanism not only simplifies the programmer’s work, however also adapts the execution environment to help and support large address spaces, file mapping, process protection, and swapping in trendy computer systems.
While executing a virtual machine, the hypervisor builds a contiguous addressable memory space for the virtual machine.
Such memory space has the almost similar properties as the virtual address space depicted to the applications by the guest operating system.
This permits the hypervisor to run several virtual machines concurrently while protecting the memory of each respective virtual machine from being accessed by others.
Hence, from the view of the application executing on the virtual machine, the hypervisor appends an extra level of address translation which maps the guest physical address over to the host physical address.
Consequently, there are three main virtual memory layers in ESX:
- Guest virtual memory,
- Guest physical memory, and
- Host physical memory
The tested best practices in context to the memory management concepts and performance evaluation outcomes, for host and guest memory usage, are listed below:
- Prohibit disabling page sharing or the balloon driver. Page sharing is a lightweight mechanism which opportunistically reclaims the unessential host memory with trivial performance effect.
In the situation where hosts are heavily overcommitted, consuming ballooning is usually more efficient and safer in comparison to utilizing hypervisor swapping.
- With caution specify the memory restricting limit and memory reservation. The virtual machine memory allocation objective is in context to the limit and reservation.
In case these two parameters are wrongly configured, users might observe ballooning or swapping even during the host has sufficiently enough plenty of free memory.
For instance, a virtual machine’s memory might be reclaimed while the specified limit is too small or when other virtual machines consume too much host memory, even though they might only use a small section of the reserved memory.
In case a performance-critical virtual machine requires a guaranteed memory allocation, the reservation requires being mentioned carefully as it may impact other virtual machines.
- Host memory size must be larger than guest memory usage. For instance, it is unwise to execute a virtual machine with a 2GB working set fixed size in a host with only 1GB host memory.
If this is the case, the hypervisor has to reclaim or retrieve the virtual machine’s active memory via ballooning or hypervisor swapping that will lead to significantly serious virtual machine performance degradation.
Though it is difficult to declare whether the host memory is large enough to hold all of the virtual machine’s working sets, the bottom line is that the host memory must not be excessively overcommitted building the guests, which has to continuously page out the guest physical memory.
- Utilize shares to adjust relative priorities while the memory is overcommitted. In case the host’s memory is overcommitted and the virtual machine’s assigned host memory is too small to attain a reasonable performance, the user might adjust the virtual machine’s shares to increase and escalate the relative priority of the virtual machine such that the hypervisor will assign more host memory for that virtual machine.
Set or fix the appropriate Virtual Machine memory size. The virtual machine memory size must be slightly bigger than the average guest memory usage.
The extra memory will accommodate and assimilate the workload spikes in the virtual machine. The guest operating system only identifies the specified virtual machine memory size. In case the virtual machine memory size is genuinely too small, guest-level paging is unavoidable, even though the host might have plenty of free memory.
Rather, the user may conservatively set or fix a huge virtual machine memory size, which is fine in contexts of virtual machine performance, however, more virtual machine memory implies that more overhead memory requires being reserved for the virtual machine.
- QuickBooks Enterprise2017.10.04QuickBooks Enterprise 18.0 Cool New Feature: Mobile Barcode Scanner Support
- QuickBooks 20182017.10.03What’s New in QuickBooks Desktop Enterprise 2018?
- QuickBooks2017.10.02How to Boost Cash Flow with QuickBooks Apps
- QuickBooks2016.12.07No Hassles Data Backup with QuickBooks Cloud for Simplified Accounting