每个 NUMA 节点的 HyperV 内存

每个 NUMA 节点的 HyperV 内存

我的 Hyper-V 2012 R2 服务器上的内存分配出现了一些问题。服务器有 16GB 的 RAM,2 个 12 核 CPU。当我运行获取VMHostNumaNode,我得到以下结果:

NodeId                 : 0
ProcessorsAvailability : {0, 0, 0, 0...}
MemoryAvailable        : 6479
MemoryTotal            : 8003
ComputerName           : SRV

NodeId                 : 1
ProcessorsAvailability : {0, 0, 0, 0...}
MemoryAvailable        : 6632
MemoryTotal            : 8192
ComputerName           : SRV

这表明两个 NUMA 节点的可用内存均为 13.1 GB(总共 16GB)。操作系统应该会占用一些内存,但内存差异太大,高达 3GB。

另一方面,当我在服务器任务管理器中检查可用内存时,它显示有 15.5 GB 是可用的。

如果我尝试在服务器上运行虚拟机,可分配的最大内存约为 13GB。我可以运行 1、2、3 或更多虚拟机,结果始终相同,总内存最大为 13GB。

有什么建议吗或者我应该朝哪个方向寻找?

答案1

这表明两个 NUMA 节点都分配了 16GB 内存中的 13.1GB。操作系统应该会占用一些内存,但内存差异太大,只有 3GB。

不完全是。它显示节点 0 上有 8003Mb 可用,节点 1 上有 8192Mb 可用,这与“已分配”不同。还要注意:

6479/8003 = 0.80957
6632/8192 = 0.80957

巧合吗?我想不是。看来 Hyper-V 允许使用的内存限制为已安装 RAM 的约 80%。

顺便说一下,24 个核心,但只有 16GB 的 RAM?你的配置太奇怪了。

相关内容