对于内存消耗量大得不成比例的虚拟机,可以使用高级选项来替代默认虚拟 CPU 设置。

可以将以下高级选项添加到虚拟机配置文件中。

表 1. 虚拟 NUMA 控制的高级选项
选项 描述 默认值
cpuid.coresPerSocket
确定每个虚拟 CPU 插槽的虚拟内核数。除非配置了 numa.vcpu.followcorespersocket,否则该选项并不会影响虚拟 NUMA 拓扑。
注: ESXi 8.0 自动为虚拟机选择最佳 coresPerSocket,默认值显示为 0。

1

numa.vcpu.maxPerVirtualNode

通过以该值作为除数均匀拆分 vCPU 总数来确定虚拟 NUMA 节点数。

8

numa.autosize.once

使用这些设置创建虚拟机模板时,如果使用默认值 TRUE,则每当您随后打开虚拟机电源时,设置都将保持不变。如果该值设置为 FALSE,则每次打开电源时,虚拟 NUMA 拓扑都会进行更新。无论何时修改虚拟机中已配置的虚拟 CPU 数,都会对虚拟 NUMA 拓扑重新评估。

FALSE

numa.vcpu.min

虚拟机中生成虚拟 NUMA 拓扑所需的虚拟 CPU 的最小数量。当该值小于 numa.vcpu.min 时,虚拟机将始终为 UMA

9

numa.vcpu.followcorespersocket

设置为 1 时,将恢复为根据 cpuid.coresPerSocket 调整虚拟 NUMA 节点大小这一旧行为。

0

numa.allowHotadd 为了在新 NUMA 节点中激活热添加 CPU 的容量,请在高级配置选项下添加 numa.allowHotadd。然后,您可以在激活 CPU 热添加时手动添加 NUMA 配置。 FALSE
numa.vcpu.coresPerNode

用于配置虚拟 NUMA 节点大小的 VMX 参数,从 UI 重新配置中解释。此参数仅对 HWv20 有效。默认为 0,表示 ESXi 自动选择 vNUMA 大小。

注: 如果此选项与 numa.vcpu.maxPerVirtualNode 冲突,将无法打开虚拟机电源。
0
vcpu.hotadd 当此选项为 TRUE 时,会停用虚拟 NUMA。当虚拟机能够进行 CPU 热插拔时,虚拟机始终会看到一个虚拟 NUMA 节点。
llc.multiLLCPerSocket

当此选项为 TRUE 时,虚拟机会在 AMD Epyc 上公开真实的 vLLC。公开的 vLLC 大小可以不同于虚拟套接字大小。

FALSE
llc.size.vcpu 为 AMD Epyc 上的 vLLC 手动配置的 vCPU 数。如果该值与虚拟机的其他设置不兼容,则会忽略该值。
chipset.motherboardLayout

此虚拟机使用的虚拟主板的类型。它只能具有以下两个值之一:

acpi:从 HWv 20 开始的新主板布局。

i440bx:旧版主板布局

cpuid.coresPerSocket.cookie

这是由 ESXi 生成的 vmx 条目,用于存储自动生成的 coresPerSocket 值。这样做可确保 vMotion 的一致性。请勿手动更改或移除它。