我有两台服务器:
- 2个插座超微 X9DBL-3F
- 4插座超微 X10QBI
当我运行hwloc-ls
2 插槽服务器时,我看到每个 NUMANode 上都有 HostBridge 的 PCIe 拓扑,但 4 插槽服务器显示包而不是 NUMANode,并且所有 HostBridge 都列在底部。此外,lscpu
在 2 插槽服务器上显示 2 个 NUMA 节点,但在 4 插槽服务器上仅显示 1 个 NUMA 节点。
如何辨别哪个 PCIe 设备连接到 4 插槽服务器上的哪个插槽?
当我hwloc-ls
在 2 插槽服务器上运行时,我得到以下信息:
Machine (63GB total)
NUMANode L#0 (P#0 31GB)
Package L#0 + L3 L#0 (20MB)
L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
PU L#0 (P#0)
PU L#1 (P#16)
...
HostBridge L#0
PCIBridge
PCI 17d3:1880
Block(Disk) L#0 "sda"
NUMANode L#1 (P#1 31GB)
Package L#1 + L3 L#1 (20MB)
L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8
PU L#16 (P#8)
PU L#17 (P#24)
...
HostBridge L#6
PCIBridge
PCI 8086:10fb
Net L#8 "eth0"
...当我在 4 插槽服务器上运行它时,我得到以下信息:
Machine (126GB)
Package L#0 + L3 L#0 (38MB)
L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
PU L#0 (P#0)
PU L#1 (P#60)
...
Package L#1 + L3 L#1 (38MB)
L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2
PU L#4 (P#15)
PU L#5 (P#75)
...
Package L#2 + L3 L#2 (38MB)
L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4
PU L#7 (P#30)
PU L#8 (P#90)
...
Package L#3 + L3 L#3 (38MB)
L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6
PU L#10 (P#45)
PU L#11 (P#105)
...
Misc(MemoryModule)
...
HostBridge L#5
PCIBridge
PCI 8086:10c9
Net L#6 "ens8f0"
2 插座lscpu
:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-2450 v2 @ 2.50GHz
Stepping: 4
CPU MHz: 2804.841
CPU max MHz: 3300.0000
CPU min MHz: 1200.0000
BogoMIPS: 5000.25
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31
4 插座lscpu
:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 120
On-line CPU(s) list: 0-119
Thread(s) per core: 2
Core(s) per socket: 15
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E7-4890 v2 @ 2.80GHz
Stepping: 7
CPU MHz: 1199.953
CPU max MHz: 3400.0000
CPU min MHz: 1200.0000
BogoMIPS: 5600.25
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 38400K
NUMA node0 CPU(s): 0-119
答案1
我看到了一个赞成票,并记得我们解决了这个问题,所以这至少是我们的答案超微 X10QBI主板(请参阅该页面链接的主板手册)。
第 94 页:内存交错:“使用此功能设置 DIMM 内存交错模式 [模式]。选项有NUMA(1 路)节点交错; 2路节点交错; 4路节点交错; 8路Interleaving,互插;和汽车。”
- 如果它交错,那么它会看到一个平坦的内存模型,所以将其设置为
NUMA (1-way) Node Interleave
(或者可能Auto
)
- 如果它交错,那么它会看到一个平坦的内存模型,所以将其设置为
第 95 页:设备标记:
- 使能够
Device Tagging
。这会用每个设备的 NUMA 位置来标记(我认为)。
- 使能够
...现在我们看到正确的 NUMA 分配。此外,还hwloc-ls
显示了 PCIe 设备的物理连接位置:
]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 120
On-line CPU(s) list: 0-119
Thread(s) per core: 2
Core(s) per socket: 15
Socket(s): 4
NUMA node(s): 4
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E7-4890 v2 @ 2.80GHz
BIOS Model name: Intel(R) Xeon(R) CPU E7-4890 v2 @ 2.80GHz
Stepping: 7
CPU MHz: 3400.000
CPU max MHz: 3400.0000
CPU min MHz: 1200.0000
BogoMIPS: 5599.89
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 38400K
NUMA node0 CPU(s): 0-14,60-74
NUMA node1 CPU(s): 15-29,75-89
NUMA node2 CPU(s): 30-44,90-104
NUMA node3 CPU(s): 45-59,105-119
...