部署 VMM 虚拟 NUMA
适用于: System Center 2012 SP1 - Virtual Machine Manager,System Center 2012 R2 Virtual Machine Manager
以 System Center 2012 Service Pack 1 (SP1) 开始,你可以使用 Virtual Machine Manager (VMM) 配置、部署和管理在 Hyper-V 中的 Windows Server 2012 中引入的虚拟非一致性内存访问 (NUMA) 功能。
NUMA 是多处理器系统中使用的一种内存体系结构,在该体系结构中,处理器访问内存所需的时间取决于内存相对于处理器的位置。 在 NUMA 系统上,与非本地内存(附加到另一个处理器的内存)相比,处理器能够更快地访问本地内存(直接附加到该处理器的内存)。 NUMA 会尝试弥补处理器与其所使用的内存之间的速度差距。 为此,NUMA 以每个处理器为基础提供单独的内存,从而可帮助避免当多个处理器尝试访问同一内存时出现的性能下降情况。 每个专用内存块称为 NUMA 节点。
Windows Server 2012 上 Hyper-V 中的 NUMA 功能
至于 Windows Server 2012,Hyper-V 支持在包含最多 320 个逻辑处理器的主机系统上运行。 可在虚拟机中配置的虚拟处理器的数量取决于物理计算机上处理器的数量。 例如,要配置最多包含 64 个虚拟处理器的虚拟机,你必须在具有 64 个以上逻辑处理器的虚拟化主机上运行 Hyper-V。 至于 Windows Server 2012,Hyper-V 通过为虚拟机提供虚拟 NUMA(一种和 NUMA 相似的环境)来支持这种可扩展性。 虚拟处理器和来宾内存组成虚拟 NUMA 节点,并且虚拟机基于基础物理拓扑向来宾操作系统呈现拓扑。
默认情况下,当创建虚拟机时,Hyper-V 会检查基础物理拓扑,并自动配置基于许多因素(包括逻辑处理器数量和每个 NUMA 节点的内存量)而采用最优设置的虚拟 NUMA 拓扑。
与运行带有物理 NUMA 硬件的非虚拟化计算机相比,利用虚拟 NUMA 能够部署更大和更业务关键的工作负载,这些工作负载可在不会使虚拟化环境性能明显下降的情况下运行。 在创建新虚拟机时,默认情况下 Hyper-V 将使用与 Hyper-V 主机 NUMA 拓扑同步的来宾设置的值。 例如,主机有在两个 NUMA 节点(每个物理处理器插槽两个 NUMA 节点)之间平均划分的 16 个核心和 64 GB 内存,则在具有 16 个虚拟处理器的主机上创建的虚拟机会将每个节点设置的最大处理器数设置为 8,每个插槽的最大节点数设置 2,并将每个节点的最大内存量设置为 32 GB。
此外,可以启用或禁用 NUMA 跨越。 在启用了跨越后,单独的虚拟 NUMA 节点可以分配非本地内存,并且管理员可在 Hyper-V 主机上部署每个虚拟 NUMA 节点的虚拟处理器数比基础硬件 NUMA 节点上可用的处理器数多的虚拟机。 针对虚拟机的 NUMA 跨越确实会引致性能开销,原因是虚拟机会访问非本地 NUMA 节点上的内存。
有关如何配置虚拟 NUMA 的信息,请参阅如何配置 VMM 虚拟 NUMA。