Citrix* XenServer* 5.5.0 Installation Guide -
Intel® Server Board S3420GP
38
Appendix C: Xen Memory Usage
When calculating the memory footprint of a Xen* host, there are two aspects to consider:
The memory consumed by the Xen* hypervisor.
The memory consumed by the host's control domain. The control domain is a privileged VM that
provides low-level services to other VMs, such as access to physical devices. It also runs the
management tool stack.
Set Control Domain Memory
If the control domain requires more allocated memory, this can be done with the Xen* CLI.
Use the
xe vm-memory-target-set
command to set the amount of memory available to the host hypervisor.
Use the
xe vm-memory-target-wait
command to verify the control domain has attained the requested memory target specified with
the last use of the “xe vm-memory-target-set” command. The “xe vm-memory-target-wait” will
not return until the memory target is reached.
The following fields on a VM define how much memory will be allocated:
The actual amount of memory current available for use by the VM.
The target amount of memory set by using “xe vm-memory- target-set”.
The maximum possible physical memory.
The desired maximum memory to be made available.
The desired minimum memory to be made available.
The Minimum possible physical memory.
Table 6 – Memory Allocation Using CLI Commands
Dynamic memory values must be within the boundaries set by the static memory values. Additionally
the target memory must fall in the range between the dynamic memory values.
Note: The amount of memory reported in XenCenter* in the General tab in the Xen* field may
exceed the values set using this mechanism. This is because the amount reported includes the
memory used by the control domain, the hypervisor itself, and the crash kernel. The amount of
memory used by the hypervisor will be larger for hosts with more memory.
To determine how much host memory is actually available assign to VMs, obtain the value of the
memory-free field of the host, then use the
vm-compute-maximum-memory
command to determine the actual amount of free memory that can be allocated to the VM, for
example:
xe host-list uuid=<host_uuid> params=memory-free
xe vm-compute-maximum-memory vm=<vm_name> total=<host_memory_free_value>