Citrix recommends that you do not run a VM with more virtual CPUs (vCPUs) than the number physical CPUs (pCPUs) available on the XenServer host.
The number of pCPUs available to XenServer can change even after the installation of VMs. For example, through actual hardware changes, changes in the BIOS setting, or other software configurations. VMs with vCPUs that cannot be matched to pCPUs may need to be adjusted in order to maintain stability.
XenServer previously allowed overcommitting vCPUs. However, this behavior is blocked as it can lead to undesirable effects when running a VM a vCPU that cannot be matched to a pCPU.
Running a VM with a vCPU that cannot be matched to a pCPU can cause a VM to fail to boot, and, in some cases, it can lead to a VM crash. You must pay attention to the number of physical CPUs available on the server and adjust the number of vCPUs of the affected VMs accordingly to maintain stability.
The following sections provide information to help you identify the number of pCPUs available on each server, determine the vCPUs assigned to each VM, and verify whether your systems are impacted by vCPU over commitment. In addition, this article also contains information on how to reduce the number of vCPUs to match the physical CPUs available, and has specific instructions to disable vCPU pinning.
xe host-cpu-info
xe vm-list params=uuid,name-label,VCPUs-max
This displays a list of all VMs running on the server. The 'VCPUs-max' parameter displays the number of virtual CPUs assigned to the VM.
When you attempt to start a VM with a vCPU that cannot be matched to a pCPU, you may get the following error message:
xe vm-param-set uuid=<vm-UUID> VCPUs-max=<8>
xe vm-param-set uuid=<uuid> platform:vcpu-unrestricted=true
xe vm-param-remove uuid=<uuid> param-name=VCPUs-params param-key=mask