Die akzeptierte Antwort funktioniert nur für Netzwerkkarten, soweit ich sie gefunden habe. Laut GuillermoMAs Antwort gibt Ihnen hwloc den richtigen Deal, auch wenn es nicht so gut lesbar ist. lstopo
ist im hwloc-Paket enthalten (zumindest bei RHEL 7):
# lstopo Machine (256GB) NUMANode L#0 (P#0 128GB) Socket 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) L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1 + PU L#1 (P#2) L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2 + PU L#2 (P#4) L2 L#3 (256KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3 + PU L#3 (P#6) L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4 + PU L#4 (P#8) L2 L#5 (256KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5 + PU L#5 (P#10) L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6 + PU L#6 (P#12) L2 L#7 (256KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7 + PU L#7 (P#14) HostBridge L#0 PCIBridge PCI 1000:005d Block L#0 "sda" PCIBridge PCI 14e4:16a1 Net L#1 "eth0" PCI 14e4:16a1 Net L#2 "eth1" PCI 14e4:16a1 Net L#3 "eth2" PCI 14e4:16a1 Net L#4 "eth3" PCI 8086:8d62 PCIBridge PCIBridge PCIBridge PCIBridge PCI 102b:0534 PCI 8086:8d02 Block L#5 "sr0" NUMANode L#1 (P#1 128GB) Socket L#1 + L3 L#1 (20MB) L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8 + PU L#8 (P#1) L2 L#9 (256KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9 + PU L#9 (P#3) L2 L#10 (256KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10 + PU L#10 (P#5) L2 L#11 (256KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11 + PU L#11 (P#7) L2 L#12 (256KB) + L1d L#12 (32KB) + L1i L#12 (32KB) + Core L#12 + PU L#12 (P#9) L2 L#13 (256KB) + L1d L#13 (32KB) + L1i L#13 (32KB) + Core L#13 + PU L#13 (P#11) L2 L#14 (256KB) + L1d L#14 (32KB) + L1i L#14 (32KB) + Core L#14 + PU L#14 (P#13) L2 L#15 (256KB) + L1d L#15 (32KB) + L1i L#15 (32KB) + Core L#15 + PU L#15 (P#15) HostBridge L#7 PCIBridge PCI 15b3:1003 Net L#6 "eth4" Net L#7 "eth5"
NUMANode L # 0 ist natürlich CPU0 und NUMANode L # 1 ist CPU1. Sie können Ihre Lieblings PCI - Nummer aus der oben dann, etwa durch 14E4: 16a1, und entdecken Sie, was es ist, und seine PCI - Adresse für die weitere Analyse aus lspci
:
# lspci -nn | grep 14e4:16a1 01:00.0 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11) 01:00.1 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11) 01:00.2 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11) 01:00.3 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11)
Auf einem meiner Computer wurde keine Emulex-Fibre-Channel-Karte in der lstopo
Ausgabe angezeigt . Ich habe es gefunden lstopo --whole-io
, indem ich den Reverse-Lookup-Prozess durchführte (scrollen Sie nach rechts, wenn Sie müssen, um die 10df-Hex-Zahl zu sehen, für die ich grep):
# lspci -nn | grep -i emulex 03:00.0 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03) 03:00.1 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03) # lstopo --whole-io | grep 10df PCI 10df:f100 PCI 10df:f100
Entfernen Sie den oben genannten Befehl "piped grep" und stöbern Sie halbaus manuell durch die Ausgabe, um das Gerät in der Vollanzeige zu finden lstopo --whole-io
(links als Übung für den Leser).