Hyper-Vpipe理器显示3个sockets/ NUMA节点可用,但只有2个

我在我们的一个Hyper-V虚拟机上偶然发现了奇怪的NUMAconfiguration。 如何显示3个NUMA节点?

在这里输入图像说明

这是任务pipe理器(正确)告诉我的。

在这里输入图像说明

您的虚拟机configuration了65536MB的RAM。 您的虚拟机每个NUMA节点的最大内存量设置为30864MB。 如果用30864除以65536,则得到2,剩余的为3808MB。 因此,您的VM将显示有3个NUMA节点。 处理器和内存将在三个节点之间均匀分布,或多或less。

如果您已经从具有不同NUMA体系结构的其他主机迁移虚拟机,或者已经使用现有虚拟机在现有主机上启用超线程,则会发生这种情况。

虽然我不知道如何设法将虚拟机置于这种状态,但我知道如何从虚拟状态中解脱出来。 closures虚拟机,进入该虚拟机的设置,展开处理器,然后点击NUMA。 在这里,您可以按“使用硬件拓扑”button,或者以您喜欢的方式手动configuration它。

虽然我以前从未在我们的hyper-v服务器上看到过,但我已经读过类似的东西。

你可能正在看numa跨越发生。

您的物理主机在NUMA节点中没有足够的内存来容纳您的112GB(请记住NUMA节点和内存的工作方式 )
因此,它将你的2个处理器分成3个物理处理器,以满足你所需要的内存量。

虽然不是一件坏事(因为它可以让你用你想要的设置创build一台机器),但这对性能不利。 最值得注意的是,你可能会看到重新启动之间的性能变化,这将让你挠头。