Installation guide
C H A P T E R 1 2 VMware ESX Server Resource Management
425
Virtual Machine Memory
Each virtual machine consumes memory based on its configured size, plus additional
overhead memory for virtualization.
The dynamic memory allocation for a virtual machine is bounded by its minimum and
maximum size parameters. The maximum size is the amount of memory configured
for use by the guest operating system running in the virtual machine. By default,
virtual machines operate at their maximum allocation, unless memory is
overcommitted.
The minimum size is a guaranteed lower bound on the amount of memory that is
allocated to the virtual machine, even when memory is overcommitted. The
minimum size should be set to a level that ensures the virtual machine has sufficient
memory to run efficiently, without excessive paging.
The maximum size can be set to a higher level to allow the virtual machine to take
advantage of excess memory, when available.
Overhead memory includes space reserved for the virtual machine frame buffer and
various virtualization data structures. A virtual machine configured with less than
512MB of memory requires 54MB of overhead memory for a single virtual CPU virtual
machine, and 64 MB for a dual-virtual CPU SMP virtual machine. Larger virtual
machines require an additional 32MB of overhead memory per additional gigabyte of
configured main memory. For example, a single virtual CPU virtual machine with a
configured maximum memory size of 2GB requires 102MB of overhead memory.
Memory Sharing
Many workloads present opportunities for sharing memory across virtual machines.
For example, several virtual machines may be running instances of the same guest
operating system, have the same applications or components loaded or contain
common data. ESX Server uses a proprietary transparent page sharing technique to
securely eliminate redundant copies of memory pages.
With memory sharing, a workload consisting of multiple virtual machines often
consumes less memory than it would when running on physical machines. As a result,
the system can support higher levels of overcommitment efficiently.
The amount of memory saved by memory sharing is highly dependent on workload
characteristics. A workload consisting of many nearly-identical virtual machines may
free up more than 30 percent of memory, while a more diverse workload may result in
savings of less than 5 percent of memory.