【问题标题】:Which factor determines the numbers of Numa nodes?哪个因素决定了 Numa 节点的数量?
【发布时间】:2018-08-28 05:05:42
【问题描述】:

情况

我正在运行基于 ESXi 6.5 的虚拟机(CentOS7)。

  • BIOS(NUMA 拓扑):启用
  • 操作系统(NUMA 拓扑):启用

  • 虚拟机操作系统:CentOS7

    • 主机操作系统:ESXi 6.5
    • vCPU:56
    • 插槽数:56

无论我如何更改 vCPU 的数量或套接字的数量,VM 上总是有 ONE NUMA NODE。通过阅读博客NUMA And vNUMA – Back To The Basic,我发现NUMA节点的数量在分配核心或套接字之间没有区别。

我还在 the documentation of ESXi 6.5 上找到了一些高级设置,但我确实知道要适当地使用以下参数。

  • cpuid.coresPerSocket
  • numa.vcpu.maxPerVirtualNode
  • numa.autosize.once
  • numa.vcpu.min
  • numa.vcpu.followcorespersocket

想要

我想要的是有两个NUMA节点,或者我可以控制NUMA节点的数量。

问题

  1. 哪个因素决定了 Numa 节点的数量?
  2. 如何修改Numa节点数(请详细说明)?

【问题讨论】:

  • 关于第二个问题,你能说的更具体一点吗?你想做什么?你试过在网上查一下吗?您是否面临特定问题?为什么要关心 NUMA 节点的数量?
  • @HadiBrais 我的虚拟机有 56 个 CPU 核心,但只有一个 NUMA 节点。此状态(如 SMP 系统而不是 NUMA 系统)会导致性能低下。所以想把NUMA节点的数量从一个节点改成两个节点。
  • 您使用的是哪种虚拟机?主机操作系统是什么?来宾操作系统是什么?为什么虚拟机有 56 个内核和一个 NUMA 节点,但在问题中您只显示 16 个内核和两个 NUMA 节点?
  • @HadiBrais 嗯,CentOS7 基于 ESXi 6.5,都是定制软件。我展示的只是一个例子,不是真实的状态。你能原则性地回答这两个问题吗?

标签: cpu vmware esxi numa


【解决方案1】:

哪个因素决定了 Numa 节点的数量?

从硬件的角度来看,处理器(内核)和主内存模块的物理布局决定了系统中 NUMA 节点的数量。 NUMA 节点由一组内核、一些其他逻辑和内存单元以及一组内存模块组成,这些内核可以访问这些内存模块,与其他内存模块相比,延迟要小得多。

但是从操作系统的角度来看,如果操作系统不支持 NUMA,默认情况下,在大多数(所有?)系统中,BIOS 将配置系统,以便物理地址空间在物理 NUMA 节点之间交错。所以从这个角度来看,整个系统都需要一个 NUMA 节点,即使物理上有多个 NUMA 节点。即使对于支持 NUMA 的操作系统,通常也可以从 BIOS 或操作系统启用节点交错。这样做会使整个系统被视为单个 NUMA 节点。此外,如果操作系统在 VM 上运行,则必须将 VM 本身配置为启用 NUMA。

如何修改Numa节点的数量(请详细步骤)?

您必须确保将 ESXi 6.5 配置为向来宾操作系统公开虚拟 NUMA 拓扑。所以你很可能有一个配置问题。见thisthis

【讨论】:

  • 第一个问题的答案可以是----Memory Controller的个数吗?我从blog阅读图片
  • @CHENJIAN 不,不一定。例如,IBM POWER7 有两个内存控制器,但它是一个 SMP 系统。
  • @CHENJIAN 是的,你可以。你看到我答案中的链接了吗?我不确定我是否理解您的问题。
  • 谢谢。我看到了你的链接。但我无法清楚地理解它。也许我缺乏这些知识,我必须读很多遍。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-04
  • 1970-01-01
  • 2022-10-01
  • 2012-02-08
  • 2020-01-29
  • 2018-02-17
相关资源
最近更新 更多