我刚刚在我们的一台 Hyper-V 虚拟机上发现了这个奇怪的 NUMA 配置。它怎么会显示 3 个 NUMA 节点?
这是任务管理器(正确地)告诉我的。
答案1
您的虚拟机配置了 65536MB 的 RAM。虚拟机的每个 NUMA 节点的最大内存量设置为 30864MB。如果将 65536 除以 30864,结果为 2,余数为 3808MB。因此,您的虚拟机似乎有 3 个 NUMA 节点。处理器和内存将或多或少均匀分布在这三个节点上。
如果您从具有不同 NUMA 架构的另一台主机迁移了虚拟机,或者在具有现有虚拟机的现有主机上启用了超线程,则可能会发生这种情况。
虽然我不知道你是如何让虚拟机进入这种状态的,但我知道如何让它脱离这种状态。关闭虚拟机,转到该虚拟机的“设置”,展开“处理器”,然后单击“NUMA”。在这里,你可以按“使用硬件拓扑”按钮,也可以按照自己喜欢的方式手动配置它。
答案2
虽然我之前从未在我们的 Hyper-V 服务器上看到过这种情况,但我读过一些听起来类似的内容。
你可能正在看numa 跨越正在发生。
你的物理主机没有足够的内存在其 NUMA 节点中容纳你的 112GB(记住NUMA 节点和内存工作原理)
这样,它会将您的 2 个处理器拆分成 3 个物理处理器,以满足您所请求的内存量。
虽然这并非坏事(因为它允许您使用所需的设置创建机器),但它对性能不利。最明显的是,您可能会看到重新启动之间的性能变化,这会让您感到困惑。