13.2.2. 默认行为线程线程处理
默认情况下,nova 将配置仿真程序线程固定设置,该设置跨越分配给所有 vCPU 的 pCPU。如果您不使用 isolcpus 参数,则可以在任何 pCPU 上调度模拟器线程,并定期从一个 pCPU 移到另一个 CPU。
virsh dumpxml instance-0000001d
(...)
<vcpu placement='static'>4</vcpu>
<cputune>
<shares>4096</shares>
<vcpupin vcpu='0' cpuset='34'/>
<vcpupin vcpu='1' cpuset='14'/>
<vcpupin vcpu='2' cpuset='10'/>
<vcpupin vcpu='3' cpuset='30'/>
<emulatorpin cpuset='10,14,30,34'/>
</cputune>
(...)
[root@overcloud-compute-0 ~]# virsh dumpxml instance-00000009
(...)
<nova:vcpus>3</nova:vcpus>
<vcpu placement='static'>3</vcpu>
<vcpupin vcpu='0' cpuset='1'/>
<vcpupin vcpu='1' cpuset='2'/>
<vcpupin vcpu='2' cpuset='3'/>
(...)
<emulatorpin cpuset='1-3'/>
(...)
因此,这些 CPU 都可以由 qemu 的仿真程序线程来抢占,从而降低数据包丢失的风险。