如果您有一些占用大量内存的应用程序或者有少量的虚拟机,可能要通过明确指定虚拟机 CPU 和内存放置位置来优化性能。
如果虚拟机运行占用大量内存的工作负载(例如内存中的数据库或具有大型数据集的科学计算应用程序),指定控制将非常有用。如果已知系统工作负载很简单而且不会变化,您可能还想手动优化 NUMA 放置位置。例如,对于一个由运行 8 个虚拟机而且具有类似工作负载的 8 个处理器组成的系统,很容易进行明确地优化。
注: 大多数情况下,
ESXi 主机的自动 NUMA 优化会产生良好的性能。
ESXi 为 NUMA 放置位置提供了三组控制,因此管理员可以控制虚拟机的内存和处理器位置。
可以指定以下选项。
即使指定了 NUMA 节点关联性,虚拟机仍由 NUMA 管理,但其虚拟 CPU 仅可以在 NUMA 节点关联性中指定的节点上进行调度。同样,仅可以从 NUMA 节点关联性中指定的节点上获取内存。如果指定了 CPU 或内存关联性,则虚拟机不再受 NUMA 管理。这些虚拟机的 NUMA 管理在移除 CPU 和内存关联性限制后有效。
手动 NUMA 放置位置可能会干扰 ESXi 资源管理算法,这种算法在系统之间公平地分发处理器资源。例如,如果将具有占用大量处理器的工作负载的 10 个虚拟机手动置于一个节点上,并且仅将 2 个虚拟机手动置于另一个节点上,则系统不可能为所有的 12 个虚拟机赋予相等份额的系统资源。