<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>
.