Virtual machines may experience performance degradation when the ESXi host grants significantly less memory than configured. As an example, a VM configured with 16GB of RAM may only receive approximately 3GB of memory from the ESXi hypervisor, despite the host having ample available memory (hundreds of GB free). This memory constraint can lead to application instability, performance issues, and unexpected memory spikes that aren't associated with activity within the guest operating system.
This issue occurs due to the absence of a memory reservation setting for the virtual machine. Without a reservation, ESXi dynamically allocates memory based on various factors including overall system demand, resulting in potential under-allocation even when physical memory is abundant. Contributing factors may include memory overprovisioning (exceeding 100%)
To resolve the memory allocation issue:
Set a Memory Reservation for the affected virtual machine: