配置XML
配置NUMA感知时可以指定虚拟NUMA节点(vNode)的内存在Host上的分配位置,实现内存的分块绑定,同时配合vCPU绑定,使vNode上的vCPU和内存在同一个物理NUMA node上。下面给出虚拟机XML参考配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <vcpu placement='static'>16</vcpu> <cputune> <vcpupin vcpu='0' cpuset='24'/> <vcpupin vcpu='1' cpuset='25'/> <vcpupin vcpu='2' cpuset='26'/> <vcpupin vcpu='3' cpuset='27'/> <vcpupin vcpu='4' cpuset='28'/> <vcpupin vcpu='5' cpuset='29'/> <vcpupin vcpu='6' cpuset='30'/> <vcpupin vcpu='7' cpuset='31'/> <vcpupin vcpu='8' cpuset='32'/> <vcpupin vcpu='9' cpuset='33'/> <vcpupin vcpu='10' cpuset='34'/> <vcpupin vcpu='11' cpuset='35'/> <vcpupin vcpu='12' cpuset='36'/> <vcpupin vcpu='13' cpuset='37'/> <vcpupin vcpu='14' cpuset='38'/> <vcpupin vcpu='15' cpuset='39'/> <emulatorpin cpuset='24-39'/> </cputune> <numatune> <memnode cellid='0' mode='strict' nodeset='0'/> <memnode cellid='1' mode='strict' nodeset='1'/> </numatune> <cpu mode='host-passthrough' check='none'> <topology sockets='1' dies='1' clusters='4' cores='4' threads='1'/> <numa> <cell id='0' cpus='0-7' memory='4194304' unit='KiB'/> <cell id='1' cpus='8-15' memory='4194304' unit='KiB'/> </numa> </cpu> |
配置步骤说明:
- 设置vCPU与物理机CPU一一对应,即1:1绑核。如下配置将虚拟机内存设置为8G,vcpu数量设置为16,并将vcpu0-15与对应的宿主机CPU24-39绑定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
<memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <vcpu placement='static'>16</vcpu> <cputune> <vcpupin vcpu='0' cpuset='24'/> <vcpupin vcpu='1' cpuset='25'/> <vcpupin vcpu='2' cpuset='26'/> <vcpupin vcpu='3' cpuset='27'/> <vcpupin vcpu='4' cpuset='28'/> <vcpupin vcpu='5' cpuset='29'/> <vcpupin vcpu='6' cpuset='30'/> <vcpupin vcpu='7' cpuset='31'/> <vcpupin vcpu='8' cpuset='32'/> <vcpupin vcpu='9' cpuset='33'/> <vcpupin vcpu='10' cpuset='34'/> <vcpupin vcpu='11' cpuset='35'/> <vcpupin vcpu='12' cpuset='36'/> <vcpupin vcpu='13' cpuset='37'/> <vcpupin vcpu='14' cpuset='38'/> <vcpupin vcpu='15' cpuset='39'/> <emulatorpin cpuset='24-39'/> </cputune>
- 配置虚拟机NUMA。为虚拟机配置两个NUMA节点,分别为node0和node1。
1 2 3 4
<numatune> <memnode cellid='0' mode='strict' nodeset='0'/> <memnode cellid='1' mode='strict' nodeset='1'/> </numatune>
- 配置NUMA内部结构。将两个NUMA节点内存均设置为4G,且node0包含cpu0-7,node1包含cpu8-15。
1 2 3 4 5 6 7
<cpu mode='host-passthrough' check='none'> <topology sockets='1' dies='1' clusters='4' cores='4' threads='1'/> <numa> <cell id='0' cpus='0-7' memory='4194304' unit='KiB'/> <cell id='1' cpus='8-15' memory='4194304' unit='KiB'/> </numa> </cpu>
父主题: 特性使用