64
Dynamic Minimum Memory: A lower memory limit that you assign to the VM.
Dynamic Higher Limit: An upper memory limit that you assign to the VM.
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: