6.5.1

Table Of Contents
After a virtual machine consumes all of the memory within its reservation, it
is allowed to retain that amount of memory and this memory is not
reclaimed, even if the virtual machine becomes idle. Some guest operating
systems (for example, Linux) might not access all of the congured memory
immediately after booting. Until the virtual machines consumes all of the
memory within its reservation, VMkernel can allocate any unused portion of
its reservation to other virtual machines. However, after the guest’s workload
increases and the virtual machine consumes its full reservation, it is allowed
to keep this memory.
Limit
Is an upper bound on the amount of physical RAM that the host can allocate
to the virtual machine. The virtual machine’s memory allocation is also
implicitly limited by its congured size.
Memory Overcommitment
For each running virtual machine, the system reserves physical RAM for the virtual machine’s reservation (if
any) and for its virtualization overhead.
The total congured memory sizes of all virtual machines may exceed the amount of available physical
memory on the host. However, it doesn't necessarily mean memory is overcommied. Memory is
overcommied when the combined working memory footprint of all virtual machines exceed that of the
host memory sizes.
Because of the memory management techniques the ESXi host uses, your virtual machines can use more
virtual RAM than there is physical RAM available on the host. For example, you can have a host with 2GB
memory and run four virtual machines with 1GB memory each. In that case, the memory is overcommied.
For instance, if all four virtual machines are idle, the combined consumed memory may be well below 2GB.
However, if all 4GB virtual machines are actively consuming memory, then their memory footprint may
exceed 2GB and the ESXi host will become overcommied.
Overcommitment makes sense because, typically, some virtual machines are lightly loaded while others are
more heavily loaded, and relative activity levels vary over time.
To improve memory utilization, the ESXi host transfers memory from idle virtual machines to virtual
machines that need more memory. Use the Reservation or Shares parameter to preferentially allocate
memory to important virtual machines. This memory remains available to other virtual machines if it is not
in use. ESXi implements various mechanisms such as ballooning, memory sharing, memory compression
and swapping to provide reasonable performance even if the host is not heavily memory overcommied.
An ESXi host can run out of memory if virtual machines consume all reservable memory in a memory
overcommied environment. Although the powered on virtual machines are not aected, a new virtual
machine might fail to power on due to lack of memory.
N All virtual machine memory overhead is also considered reserved.
In addition, memory compression is enabled by default on ESXi hosts to improve virtual machine
performance when memory is overcommied as described in “Memory Compression,” on page 41.
Memory Sharing
Memory sharing is a proprietary ESXi technique that can help achieve greater memory density on a host.
Memory sharing relies on the observation that several virtual machines might be running instances of the
same guest operating system. These virtual machines might have the same applications or components
loaded, or contain common data. In such cases, a host uses a proprietary Transparent Page Sharing (TPS)
technique to eliminate redundant copies of memory pages. With memory sharing, a workload running on a
vSphere Resource Management
28 VMware, Inc.