Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.4. CPU Allocation


<domain>
  ...
  <vcpu placement='static' cpuset="1-4,^3,6" current="1">2</vcpu>
  ...
</domain>

Figure 20.6. CPU allocation

The <cpu> element defines the maximum number of virtual CPUs (vCPUs) allocated for the guest virtual machine operating system, which must be between 1 and the maximum supported by the hypervisor. This element can contain an optional cpuset attribute, which is a comma-separated list of physical CPU numbers that domain processes and virtual CPUs can be pinned to by default.
Note that the pinning policy of domain processes and virtual CPUs can be specified separately by using the cputune attribute. If the emulatorpin attribute is specified in <cputune>, the cpuset value specified by <vcpu> will be ignored.
Similarly, virtual CPUs that have set a value for vcpupin cause cpuset settings to be ignored. Virtual CPUs where vcpupin is not specified will be pinned to the physical CPUs specified by cpuset. Each element in the cpuset list is either a single CPU number, a range of CPU numbers, or a caret (^) followed by a CPU number to be excluded from a previous range. The attribute current can be used to specify whether fewer than the maximum number of virtual CPUs should be enabled.
The optional attribute placement can be used to specify the CPU placement mode for the domain process. placement can be set as either static or auto. If you set <vcpu placement='auto'>, the system will query numad and use the settings specified in the <numatune> tag, and ignore any other settings in <vcpu> . If you set <vcpu placement='static'>, the system will use the settings specified in the <vcpu placement> tag instead of the settings in <numatune>.