Gibt es unter der Annahme eines relativ neuen Linux-Betriebssystems eine einfache Möglichkeit, festzustellen, zu welchem NUMA-Knoten der PCIe-Steckplatz gehört, an den ein Gerät angeschlossen ist?
9
Gibt es unter der Annahme eines relativ neuen Linux-Betriebssystems eine einfache Möglichkeit, festzustellen, zu welchem NUMA-Knoten der PCIe-Steckplatz gehört, an den ein Gerät angeschlossen ist?
Sie müssen in das Verzeichnis des betreffenden PCIe-Steckplatzes wechseln, zum Beispiel eth0
:
cd /sys/class/net/eth0/device
wo Sie finden numa_node
, local_cpus
und local_cpulist
die drei Dateien, die Sie interessieren. Sie können nur cat
sie und sehen die gewünschten Daten.
numa_node = -1
undlocal_cpulist = 0-15
. Das kann nicht richtig sein, ich habe 2 numa Knoten, wie von hwloc bestätigt.Sie können auch hwloc ( http://www.open-mpi.de/projects/hwloc/ ) verwenden, wenn Sie die Geräte-ID kennen. Wenn Sie jedoch zwei gleiche Geräte haben (z. B. GPUs), können Sie den NUMA-Knoten, dem der physische Steckplatz zugeordnet ist, nur anhand des Motherboard-Handbuchs ermitteln.
Für das Asus Z9PE-D8 ( http://dlcdnet.asus.com/pub/ASUS/mb/LGA2011/Z9PE-D8-WS/Manual/e8726_z9pe-d8_ws.pdf ) finden Sie es auf Seite 223.
quelle
Die akzeptierte Antwort funktioniert nur für Netzwerkkarten, soweit ich sie gefunden habe. Laut der Antwort von GuillermoMA gibt Ihnen hwloc das echte Angebot, auch wenn es nicht so gut lesbar ist.
lstopo
befindet sich im hwloc-Paket (zumindest auf RHEL 7):NUMANode L # 0 ist natürlich CPU0 und NUMANode L # 1 ist CPU1. Sie können dann Ihre Lieblings-PCI-Nummer aus dem oben genannten, z. B. 14e4: 16a1, entnehmen und herausfinden, was es ist, und seine PCI-Adresse zur weiteren Analyse von
lspci
:Auf einem meiner Computer wurde keine Emulex Fibre Channel-Karte in der
lstopo
Ausgabe angezeigt . Ich habe es gefundenlstopo --whole-io
, indem ich den Reverse-Lookup-Vorgang ausgeführt habe (scrollen Sie nach rechts, wenn Sie müssen, um die 10-dB-Hex-Zahl zu sehen, nach der ich greife):Entfernen Sie den Befehl piped grep oben und durchsuchen Sie die Ausgabe halbmanuell, um das Gerät in der Vollanzeige zu finden
lstopo --whole-io
(als Übung für den Leser übrig).quelle
lspci -nn | grep PCINUMBER
meinen Tag gerettet. Ich habe zwei Samsung 970 Pro und dieser Befehl hat mir geholfen, sie anhand derltopo
Ausgabe zu identifizieren . Vielen Dank.Man kann verwenden mit:
# cat /sys/bus/pci/devices/<PCI device>/numa_node
Rufen Sie die PCI-Geräteadresse mit ab
# lspci -nn
quelle