So prüfen Sie, ob die NUMA-Einstellungen in Linux angewendet werden

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie überprüfen können, ob die Einstellungen für Non-Uniform Memory Access (NUMA) in Linux angewendet werden. Das Verständnis von NUMA ist entscheidend für die Optimierung der Leistung auf Multiprozessorsystemen.

Durch eine Reihe von praktischen Schritten werden Sie essentielle Linux-Befehle wie numactl und lscpu nutzen und das Dateisystem /proc/numa erkunden, um die NUMA-Konfiguration auf Ihrem System zu überprüfen und zu untersuchen. In diesem Lab erhalten Sie die praktischen Fähigkeiten, um NUMA-Knoten, zugehörige CPUs und Speicher zu identifizieren, sodass Sie die NUMA-Einrichtung Ihres Systems effektiv bewerten können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/BasicSystemCommandsGroup -.-> linux/man("Manual Access") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/help -.-> lab-558800{{"So prüfen Sie, ob die NUMA-Einstellungen in Linux angewendet werden"}} linux/man -.-> lab-558800{{"So prüfen Sie, ob die NUMA-Einstellungen in Linux angewendet werden"}} linux/ls -.-> lab-558800{{"So prüfen Sie, ob die NUMA-Einstellungen in Linux angewendet werden"}} linux/cat -.-> lab-558800{{"So prüfen Sie, ob die NUMA-Einstellungen in Linux angewendet werden"}} linux/which -.-> lab-558800{{"So prüfen Sie, ob die NUMA-Einstellungen in Linux angewendet werden"}} linux/apt -.-> lab-558800{{"So prüfen Sie, ob die NUMA-Einstellungen in Linux angewendet werden"}} end

Überprüfen des NUMA-Status mit numactl --hardware

In diesem Schritt werden wir beginnen, die Non-Uniform Memory Access (NUMA)-Architektur auf Ihrem System zu erkunden. NUMA ist ein Computer-Speicherdesign, das in Multiprozessorsystemen verwendet wird, bei dem die Speicherzugriffszeit von der Speicherposition relativ zum Prozessor abhängt. Das Verständnis von NUMA kann für die Optimierung der Leistung bestimmter Anwendungen wichtig sein.

Wir werden den Befehl numactl verwenden, um den NUMA-Status zu überprüfen. Der Befehl numactl wird verwendet, um die NUMA-Richtlinie für Prozesse zu steuern oder ein Programm mit einer bestimmten NUMA-Richtlinie auszuführen.

Zunächst überprüfen wir, ob der Befehl numactl auf Ihrem System verfügbar ist. Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

which numactl

Wenn numactl installiert ist, sehen Sie den Pfad zur ausführbaren Datei, etwa so:

/usr/bin/numactl

Wenn es nicht installiert ist, sehen Sie möglicherweise eine leere Ausgabe oder eine Fehlermeldung. Wenn es nicht installiert ist, können Sie es mit apt installieren. Da Sie sudo-Rechte ohne Passwort haben, können Sie ausführen:

sudo apt update
sudo apt install numactl -y

Jetzt, da numactl verfügbar ist, verwenden wir die Option --hardware, um Informationen über die NUMA-Knoten auf Ihrem System anzuzeigen. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

numactl --hardware

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die verfügbaren NUMA-Knoten sowie ihre zugehörigen CPUs und den Speicher auflistet:

available: 1 nodes (0)
node 0 cpus: 0 1
node 0 size: 1999 MB
node 0 free: 1800 MB

Diese Ausgabe zeigt, dass Ihr System 1 NUMA-Knoten (Knoten 0) hat. Sie zeigt auch, welche CPUs zu diesem Knoten gehören und wie viel Gesamtspeicher und freier Speicher für ihn verfügbar ist. Die genaue Ausgabe kann je nach Konfiguration der virtuellen Maschine variieren.

Das Verständnis dieser Ausgabe ist der erste Schritt bei der Arbeit mit NUMA-Systemen. In den nächsten Schritten werden wir weitere Möglichkeiten zur Untersuchung der NUMA-Konfiguration erkunden.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen der NUMA-Knoten in /proc/numa

In diesem Schritt werden wir das /proc-Dateisystem erkunden, um Informationen über NUMA-Knoten zu finden. Das /proc-Dateisystem ist ein virtuelles Dateisystem, das Informationen über Prozesse und andere Systeminformationen bereitstellt. Es ist ein ausgezeichneter Ort, um Details zur Konfiguration und zum Status Ihres Linux-Systems zu finden.

Insbesondere werden wir uns das Verzeichnis /proc/numa ansehen. Dieses Verzeichnis enthält Dateien, die Details zur NUMA-Konfiguration bereitstellen.

Zunächst listen wir den Inhalt des Verzeichnisses /proc/numa mit dem Befehl ls auf. Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

ls /proc/numa

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

distance  nodes

Dies zeigt an, dass es in /proc zwei Hauptdateien oder -verzeichnisse im Zusammenhang mit NUMA gibt: distance und nodes.

Jetzt untersuchen wir den Inhalt der Datei /proc/numa/nodes. Diese Datei sollte die verfügbaren NUMA-Knoten auflisten. Wir können den Befehl cat verwenden, um den Inhalt dieser Datei anzuzeigen. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

cat /proc/numa/nodes

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

0

Diese Ausgabe bestätigt, dass Ihr System mindestens einen NUMA-Knoten hat, nämlich Knoten 0. Wenn Ihr System mehr NUMA-Knoten hätte, würden Sie hier eine Liste der Knotennummern sehen (z. B. 0 1).

Als Nächstes schauen wir uns die Datei /proc/numa/distance an. Diese Datei zeigt die Entfernung zwischen NUMA-Knoten an, die die Kosten für den Zugriff auf den Speicher eines anderen Knotens darstellt. Bei einem Ein-Knoten-System beträgt die Entfernung zu sich selbst typischerweise 10. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

cat /proc/numa/distance

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

0: 10

Diese Ausgabe zeigt die Entfernungsmatrix. In diesem Fall bedeutet 0: 10, dass die Entfernung von Knoten 0 zu Knoten 0 10 ist. Bei Systemen mit mehreren NUMA-Knoten würden Sie eine Matrix sehen, die die Entfernungen zwischen allen Knotenpaaren anzeigt.

Das Erkunden des /proc-Dateisystems ist eine gängige Methode, um Systeminformationen in Linux zu sammeln. Sie haben nun gesehen, wie Sie es verwenden können, um die auf Ihrem System erkannten NUMA-Knoten zu überprüfen.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Untersuchung der NUMA-Details mit lscpu

In diesem letzten Schritt werden wir den Befehl lscpu verwenden, um detaillierte Informationen über die CPU-Architektur, einschließlich der NUMA-Konfiguration, zu erhalten. Der Befehl lscpu zeigt Informationen über die CPU(s) im System an und kann sehr nützlich sein, um die Hardware Ihres Systems zu verstehen.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

lscpu

Sie werden eine umfassende Ausgabe über Ihre CPU sehen. Suchen Sie nach Zeilen, die "NUMA" erwähnen. Die Ausgabe variiert je nach System, aber Sie sollten etwas Ähnliches wie Folgendes sehen:

Architecture:        x86_64
...
NUMA node(s):        1
NUMA node0 CPU(s):   0,1

Lassen Sie uns die relevanten Teile der Ausgabe analysieren:

  • NUMA node(s): 1: Diese Zeile gibt Ihnen die Gesamtzahl der auf dem System erkannten NUMA-Knoten an. In diesem Fall ist es 1, was mit dem übereinstimmt, was wir mit numactl und der Überprüfung von /proc/numa gesehen haben.
  • NUMA node0 CPU(s): 0,1: Diese Zeile zeigt an, welche CPU-Kerne zu NUMA-Knoten 0 gehören. Hier wird angegeben, dass die CPUs 0 und 1 Teil von Knoten 0 sind.

Der Befehl lscpu liefert viele andere nützliche Informationen über Ihre CPU, wie die Anzahl der Kerne, Threads, die Cache-Größen und die unterstützten Funktionen. Scrollen Sie gerne durch die Ausgabe und sehen Sie, welche anderen Details Sie finden können.

Sie haben nun erfolgreich drei verschiedene Methoden (numactl --hardware, /proc/numa und lscpu) verwendet, um die NUMA-Konfiguration Ihres Systems zu untersuchen. Das Verständnis dieser Tools ist für die Diagnose von Leistungsproblemen und die Optimierung von Anwendungen auf Mehrprozessorsystemen unerlässlich.

Klicken Sie auf Weiter, um dieses Lab abzuschließen und Ihren Fortschritt zu überprüfen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man prüft, ob die NUMA-Einstellungen in Linux angewendet werden. Wir haben begonnen, indem wir den Befehl numactl --hardware verwendet haben, um Informationen über die verfügbaren NUMA-Knoten, einschließlich der zugehörigen CPUs und des Speichers, anzuzeigen. Dies hat ein grundlegendes Verständnis der NUMA-Architektur auf dem System vermittelt.

Anschließend haben wir alternative Methoden zur Überprüfung der NUMA-Konfiguration erkundet. Dazu gehörte die Untersuchung des /proc/numa-Dateisystems, das detaillierte Informationen über die NUMA-Knoten und deren Speicherstatistiken bereitstellt. Schließlich haben wir den Befehl lscpu genutzt, um einen umfassenden Überblick über die CPU-Architektur, einschließlich NUMA-bezogener Details, zu erhalten, was die NUMA-Konfiguration des Systems weiter bestätigte.