我如何知道是否应该在运行旧应用程序的 VM 上禁用虚拟 NUMA?

red*_*888 9 virtualization vmware-esxi vmware-vsphere numa

来自 VMware 的文档:

虚拟 NUMA 拓扑可用于硬件版本 8 虚拟机,并且在虚拟 CPU 数量大于 8 时默认启用。您还可以使用高级配置选项手动影响虚拟 NUMA 拓扑。

因此,假设我有一个分配了 8 个 CPU 的虚拟机——它正在运行虚拟 NUMA。如果我有一个旧的非 NUMA 感知应用程序在服务器上运行,它会不会运行得很差,或者至少不会像在非 V-NUMA 模式下那样好?

我假设 V-NUMA 是这样启用的,因为如果应用程序供应商推荐 8 个或更多内核,则该软件很可能会识别 NUMA。或者是否有许多应用程序支持多核,但不支持 NUMA?

我如何确定由这个可能的问题引起的瓶颈?

编辑:有没有想过 vCenter 中是否有用于监控远程 NUMA 调用的指标?

小智 1

文章:《NUMA Deep Dive Part 1: From UMA to NUMA》推荐《Intel Memory Latency Checker v3.5》,一篇较短的文章《VMware vSphere\xe2\x80\x8a\xe2\x80\x94\xe2\x80\x8aWhy》检查 NUMA 配置非常重要! ”(从我获得该链接的地方)解释道:

\n\n
\n

“主要的结论是,当 cpu 可以访问其本地内存时,cpu\xe2\x80\x8a\xe2\x80\x94\xe2\x80\x8a 内存访问始终是最快的。NUMA 节点是 CPU/内存对通常情况下,CPU Socket 和最近的内存条构建了一个 NUMA 节点。每当一个 CPU 需要访问另一个 NUMA 节点的内存时,它不能直接访问,而是需要通过拥有该内存的 CPU 来访问。

\n
\n\n

因此,在启动 VMM 和分配 vNUMA 之前,请正确配置 NUMA,为每个 CPU 提供足够的内存。

\n\n

在 VMware 下,您可以使用 esxtop,键入“m”、“f”和“G”来启用 NUMA 信息。在此处阅读有关 esxtop 的更多信息:YellowBricks和 VMWare 的古老文档:“解释 esxtop 统计信息”。

\n\n

调整 NUMA 后,您可以使用 Intel 的工具测试您分配的 vNUMA 是否不会调用非本地内存。

\n