总是得到"NUMA memory tuning in 'preferred' mode only supports single node"的错误报告



我正在尝试通过编辑KVM域XML文件将VM CPU调整到更大的尺寸,例如16vCPU:

<domain type='kvm'>
<name>bigip-2-10.250.100.102</name>
<uuid>c978f323-9c61-4db4-bfc0-35e65f06bf05</uuid>
<memory unit='KiB'>8388608</memory>
<currentMemory unit='KiB'>8388608</currentMemory>
<vcpu placement='auto'>16</vcpu>
<numatune>
<memory mode='preferred' placement='auto'/>
</numatune>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='hd'/>
</os>

当我关闭并再次启动 VM 时。我收到了此错误报告:

error: internal error: Process exited prior to exec: libvirt: error : internal error: NUMA memory tuning in 'preferred' mode only supports single node

但是,当我将 vCPU 大小更改为9或将模式标记更改为strict.可以再次启动 VM。我有点迷茫,为什么它表现成这样?

我的机器编号信息如下:

[root@localhost ~]# numactl --show
policy: default
preferred node: current
physcpubind: 0 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
cpubind: 0 1
nodebind: 0 1
membind: 0 1
[root@localhost ~]# numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
node 0 size: 65029 MB
node 0 free: 6220 MB
node 1 cpus: 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
node 1 size: 65536 MB
node 1 free: 24109 MB
node distances:
node   0   1
0:  10  21
1:  21  10

错误说NUMA memory tuning in 'preferred' mode only supports single node

机器的单个 numa 节点 0(单节点(有 16 个 CPU,为什么它不能在机器中启动 16 个 CPU(甚至10个 CPU(numa首选模式虚拟机?

为什么 numa 首选模式的最大 CPU 数量为9? 是相对于虚拟机映像而言的吗?

任何人都可以帮忙解释一下,非常感谢。

我也一直在为此苦苦挣扎。解决方案是将内存模式从"首选"更改为"交错"。首选模式的问题很可能是,在与放置模式"auto"结合使用时,numad 有时会使用一组节点而不是单个节点(当一个节点中没有足够的可用资源时(。实际上,libvirt 恕我直言,应该防止这种情况并强制 numad 始终选择一个节点,但它没有。另一方面,有时可能不可能只选择一个节点(例如,每个节点上没有足够的可用内存(。因此,防止 libvirt 错误的唯一解决方案:"'首选'模式下的 NUMA 内存调整仅支持单节点"实际上是使用"交错"模式。据此 https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/whitepaper/pdfs/a00039147enw.pdf: "当节点内存溢出发生时,交错模式的行为类似于首选模式。也就是说,交错模式选择一个节点,从中 分配一个页面,如果该节点没有可用内存,则允许分配溢出到另一个节点。 我真的建议从第 26 页开始阅读上述 pdf 中的所有内容。这应该最有可能回答您有关该主题的所有问题。

相关内容

最新更新