VMware ESX Server 2.0
Features | Documentation | Knowledge Base | Discussion Forums
Prev
Contents
Last
Next 
Memory Resource Management
Memory Resource Management
VMware ESX Server provides dynamic control over the amount of physical memory allocated to each virtual machine. You may overcommit memory, if you wish, so the total size configured for all running virtual machines exceeds the total amount of available physical memory. The system manages the allocation of memory to virtual machines automatically based on allocation parameters and system load.
You may specify initial memory allocation values for a virtual machine in its configuration file. You may also modify most memory allocation parameters dynamically using the VMware Management Interface, the procfs interface on the service console or the VMware Scripting API. Reasonable defaults are used automatically when parameters are not specified explicitly.
You have access to information about current memory allocations and other status information through the management interface, the procfs interface on the service console and the VMware Scripting API.
For additional information on memory management by VMware ESX Server, see the mem(8) man page. You may also view the abstract of a technical paper describing memory resource management at www.usenix.org/events/osdi02/tech/waldspurger.html.
If you have a server with NUMA architecture, be sure to see Using Your NUMA System. Refer to the VMware ESX Server2 NUMA Support White Paper, available at www.vmware.com/pdf/esx2_NUMA.pdffor information on supported NUMA platforms.
Allocating Memory Resources
Allocating Memory Resources
Three basic parameters control the allocation of memory resources to each virtual machine:
- Its minimum size min
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 system uses an admission control policy to enforce this guarantee. You cannot power on a new virtual machine if there isn't sufficient memory to reserve its minimum size.
Set a virtual machine's minimum for the minimal acceptable performance and above the threshold where the guest operating system begins swapping heavily. Use the performance monitoring tool of the guest operating system to see if you are swapping. For more information on improving guest operating system performance, see Improving Slow Performance on Virtual Machines.
- Its maximum size max
The maximum size is the amount of memory configured for use by the guest operating system running in the virtual machine. This maximum size must be specified in the configuration file for the virtual machine. By default, virtual machines operate at their maximum allocation, unless memory is overcommitted.
Note: You must specify a maximum memory size for a guest operating system,
or it will not boot. Also, you can only change a virtual machine's maximum
memory size when it is powered off.
- Its share allocation
Memory shares entitle a virtual machine to a fraction of physical memory. For example, a virtual machine that has twice as many shares as another is generally entitled to consume twice as much memory, subject to their respective minimum and maximum constraints, provided they are both actively using the memory they have been allocated.
You may specify shares by specifying a numerical value, or specifying high, normal, or low. By default, the setting for normal shares is twice that of low. Similarly, high shares are twice that of normal (or four times that of low).
The system automatically allocates an amount of memory to each virtual machine somewhere between its minimum and maximum sizes based on its shares and an estimate of its recent working set size.
Prev
Contents
Last
Next 
|