23.4. CPU allocation
<domain> ... <vcpu placement='static' cpuset="1-4,^3,6" current="1">2</vcpu> ... </domain>
Figure 23.6. CPU Allocation
<vcpu>element defines the maximum number of virtual CPUs allocated for the guest virtual machine operating system, which must be between 1 and the maximum number supported by the hypervisor. This element can contain an optional
cpusetattribute, which is a comma-separated list of physical CPU numbers that the domain process and virtual CPUs can be pinned to by default.
Note that the pinning policy of the domain process and virtual CPUs can be specified separately by using the
cputuneattribute. If the
emulatorpinattribute is specified in
<vcpu>will be ignored.
Similarly, virtual CPUs that have set a value for
cpusetsettings to be ignored. For virtual CPUs where
vcpupinis not specified, it will be pinned to the physical CPUs specified by
cpuset. Each element in the
cpusetlist 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
currentcan be used to specify whether fewer than the maximum number of virtual CPUs should be enabled.
placementoptional attribute can be used to indicate the CPU placement mode for domain processes. The value of
placementcan be set as one of the following:
static- pins the vCPU to the physical CPUs defined by the
cpusetis not defined, the domain processes will be pinned to all the available physical CPUs.
auto- indicates the domain process will be pinned to the advisory nodeset from the querying numad, and the value of attribute
cpusetwill be ignored if it is specified.
cpusetattribute is used along with
placement, the value of
placementdefaults to the value of the
<numatune>element (if it is used), or to