62
For example, if the Dynamic Minimum Memory was set at 512 MB and the Dynamic Maximum Memory was set
at 1024 MB this would give the VM a Dynamic Memory Range (DMR) of 512 - 1024 MB, within which, it would
operate. With DMC, XenServer guarantees at all times to assign each VM memory within its specified DMR.
The Concept of Static Range
Many Operating Systems that XenServer supports do not fully ‘understand’ the notion of dynamically adding or
removing memory. As a result, XenServer must declare the maximum amount of memory that a VM will ever
be asked to consume at the time that it boots. (This allows the guest operating system to size its page tables
and other memory management structures accordingly.) This introduces the concept of a static memory range
within XenServer. The static memory range cannot be adjusted while the VM is running. For a particular boot,
the dynamic range is constrained such as to be always contained within this static range. Note that the static
minimum (the lower bound of the static range) is there to protect the administrator and is set to the lowest
amount of memory that the OS can run with on XenServer.
Note:
Citrix advises not to change the static minimum level as this is set at the supported level per
operating system – refer to the memory constraints table for more details.
By setting a static maximum level, higher than a dynamic max, means that in the future, if
you need to allocate more memory to a VM, you can do so without requiring a reboot.
DMC Behaviour
Automatic VM squeezing
• If DMC is not enabled, when hosts are full, new VM starts fail with ‘out of memory’ errors.
• If DMC is enabled, even when hosts are full, XenServer will attempt to reclaim memory (by reducing the
memory allocation of running VMs within their defined dynamic ranges). In this way running VMs are squeezed
proportionally at the same distance between the dynamic minimum and dynamic maximum for all VMs on
the host
When DMC is enabled
• When the host's memory is plentiful - All running VMs will receive their Dynamic Maximum Memory level
• When the host's memory is scarce - All running VMs will receive their Dynamic Minimum Memory level.
When you are configuring DMC, remember that allocating only a small amount of memory to a VM can negatively
impact it. For example, allocating too little memory:
• Using Dynamic Memory Control to reduce the amount of physical memory available to a VM may cause it to
boot slowly. Likewise, if you allocate too little memory to a VM, it may start extremely slowly.
• Setting the dynamic memory minimum for a VM too low may result in poor performance or stability problems
when the VM is starting.
How Does DMC Work?
Using DMC, it is possible to operate a guest virtual machine in one of two modes:
1. Target Mode: The administrator specifies a memory target for the guest.XenServer adjusts the guest's memory
allocation to meet the target. Specifying a target is particularly useful in virtual server environments, and in
any situation where you know exactly how much memory you want a guest to use. XenServer will adjust the
guest's memory allocation to meet the target you specify.
2. Dynamic Range Mode: The administrator specifies a dynamic memory range for the guest; XenServer chooses
a target from within the range and adjusts the guest's memory allocation to meet the target. Specifying a
dynamic range is particularly useful in virtual desktop environments, and in any situation where you want