来自VMware的文档:
虚拟NUMA拓扑可供硬件版本8虚拟机使用,并在虚拟CPU数量大于8个时默认启用。还可以使用高级配置选项手动影响虚拟NUMA拓扑。
因此,假设我有一个VM,我已经分配了8个CPUs-它正在运行Virtual。如果我有一个老的非NUMA意识到的应用程序运行在服务器上,它是不是运行得很差,或者至少没有在非V模式下运行得那么好?
我认为assume是这样启用的,因为如果应用供应商推荐8个或更多内核,那么软件很可能是NUMA意识到的。或者,是否有许多应用程序具有多核支持,但不支持NUMA?
我将如何识别这个可能的问题造成的瓶颈?
编辑:有一个想法,在vCenter中有一个监测远程NUMA调用的指标吗?
发布于 2018-09-30 00:21:21
这篇文章:"努马深潜第1部分:从UMA到NUMA“推荐"英特尔内存延迟检查器v3.5",一篇较短的文章"VMware vSphere - 为什么检查NUMA配置如此重要!”(我从哪里得到那个链接)解释道:
“最重要的是,当cpu能够访问本地内存时,CPU - 内存访问总是最快的。NUMA节点是CPU /内存耦合。通常,CPU套接字和最近的内存库构建了一个NUMA节点。每当CPU需要访问另一个NUMA节点的内存时,它就不能直接访问它,而是需要通过拥有内存的CPU访问它。”
因此,在启动VMM和分配vNUMA之前,正确配置NUMA,为每个CPU配置足够的内存。
在VMware下,您可以使用esxtop输入"m“、"f”和"G“来启用NUMA信息。在这里阅读更多关于esxtop的信息:YellowBricks和VMWare的古文档:"解释esxtop统计“。
一旦对NUMA进行了调优,您就可以测试您的vNUMA分配没有使用英特尔的工具调用非本地内存。
https://serverfault.com/questions/760130
复制相似问题