lstopo显示系统拓扑

  • 安装软件包:

    yum install hwloc hwloc-gui
    

备注

hwloc 软件包提供了获取 lstopo 工具可以检查系统拓扑,并且该工具支持字符和图形界面运行(图形更为形象)

lstopo (图形工具) 命令在 AMD Zen微架构 国产化海光处理器上,似乎不能正确显示(字符命令可以),可能和版本有关。

  • 检查服务器拓扑:

    lstopo

如果本地有图形界面,或者使用远程X Window ( macOS远程X Window ) ,则会看到类似下面的拓扑结构图,显示出处理器的缓存:

../../../_images/lstopo_2_numanode.png

如果是字符界面,显示如下:

lstopo_2_numanode.output
 1Machine (125GB)
 2  NUMANode L#0 (P#0 62GB)
 3    Socket L#0 + L3 L#0 (20MB)
 4      L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
 5        PU L#0 (P#0)
 6        PU L#1 (P#16)
 7      L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1
 8        PU L#2 (P#1)
 9        PU L#3 (P#17)
10      L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2
11        PU L#4 (P#2)
12        PU L#5 (P#18)
13      L2 L#3 (256KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3
14        PU L#6 (P#3)
15        PU L#7 (P#19)
16      L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4
17        PU L#8 (P#4)
18        PU L#9 (P#20)
19      L2 L#5 (256KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5
20        PU L#10 (P#5)
21        PU L#11 (P#21)
22      L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6
23        PU L#12 (P#6)
24        PU L#13 (P#22)
25      L2 L#7 (256KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7
26        PU L#14 (P#7)
27        PU L#15 (P#23)
28    HostBridge L#0
29      PCIBridge
30        PCI 8086:1521
31          Net L#0 "eno1"
32        PCI 8086:1521
33          Net L#1 "eno2"
34      PCIBridge
35        PCI 8086:10fb
36          Net L#2 "eth2"
37        PCI 8086:10fb
38          Net L#3 "eth3"
39      PCIBridge
40        PCI 8086:1d6b
41      PCIBridge
42        PCI 102b:0532
43          GPU L#4 "card0"
44          GPU L#5 "controlD64"
45      PCI 8086:1d02
46        Block L#6 "sda"
47  NUMANode L#1 (P#1 63GB) + Socket L#1 + L3 L#1 (20MB)
48    L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8
49      PU L#16 (P#8)
50      PU L#17 (P#24)
51    L2 L#9 (256KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9
52      PU L#18 (P#9)
53      PU L#19 (P#25)
54    L2 L#10 (256KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10
55      PU L#20 (P#10)
56      PU L#21 (P#26)
57    L2 L#11 (256KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11
58      PU L#22 (P#11)
59      PU L#23 (P#27)
60    L2 L#12 (256KB) + L1d L#12 (32KB) + L1i L#12 (32KB) + Core L#12
61      PU L#24 (P#12)
62      PU L#25 (P#28)
63    L2 L#13 (256KB) + L1d L#13 (32KB) + L1i L#13 (32KB) + Core L#13
64      PU L#26 (P#13)
65      PU L#27 (P#29)
66    L2 L#14 (256KB) + L1d L#14 (32KB) + L1i L#14 (32KB) + Core L#14
67      PU L#28 (P#14)
68      PU L#29 (P#30)
69    L2 L#15 (256KB) + L1d L#15 (32KB) + L1i L#15 (32KB) + Core L#15
70      PU L#30 (P#15)
71      PU L#31 (P#31)
  • 对应我们使用 numactl 检查:

    numactl --hardware
    

可以看到如下numa节点:

available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 63891 MB
node 0 free: 1222 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 64463 MB
node 1 free: 1512 MB
node distances:
node   0   1
  0:  10  21
  1:  21  10