目次
1. Einführung
Wenn Sie eine GPU unter Ubuntu nutzen, ist es wichtig, ihren Status genau zu überprüfen. Besonders bei Aufgaben wie Deep Learning oder Grafik-Rendering ist es unerlässlich, die GPU-Auslastung und die Treiberversion zu kennen. In diesem Artikel wird die Verwendung des NVIDIA GPU-Management-Toolsnvidia-smi
erklärt und gezeigt, wie Sie die GPU unter Ubuntu überprüfen können.2. GPU-Informationen mit nvidia-smi abrufen
nvidia-smi
ist ein Befehlszeilen-Tool zur Überwachung der Nutzung und des Speicherverbrauchs von NVIDIA-GPUs. Es ist besonders nützlich, um den GPU-Status in Echtzeit zu überwachen und detaillierte Nutzungsinformationen zu erhalten.Grundlegende Nutzung
Mit folgendem Befehl können Sie die GPU-Auslastung und den Speicherverbrauch in Echtzeit überwachen:nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1
Dieser Befehl liefert detaillierte Informationen zur GPU-Auslastung, zum verwendeten Speicher und zum verfügbaren Speicher. Mit der Option -l
kann das Aktualisierungsintervall in Sekunden festgelegt werden.Ausgabeformat und Dateispeicherung
Standardmäßig wird die Ausgabe im Tabellenformat angezeigt, aber es ist auch möglich, die Daten im CSV-Format auszugeben, um sie einfacher weiterzuverarbeiten. Wenn Sie die Informationen in einer Datei speichern möchten, können Sie mit der Option-f
den Dateipfad angeben.nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv
Mit dieser Methode können Sie die GPU-Nutzung als Protokoll speichern und später analysieren.
3. Prozessinformationen mit nvidia-smi abrufen
Mitnvidia-smi
können Sie herausfinden, welche Prozesse derzeit die GPU nutzen. So können Sie feststellen, welche Anwendungen wie viele GPU-Ressourcen verwenden.Prozessinformationen abrufen
Mit folgendem Befehl können Sie die Prozess-ID (PID) und den Speicherverbrauch der Prozesse, die die GPU nutzen, anzeigen lassen:nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader
Dieser Befehl gibt eine Liste der aktuell laufenden GPU-Prozesse zurück und zeigt den Speicherverbrauch jedes Prozesses an.nvidia-smi pmon Unterbefehl
nvidia-smi
bietet den Unterbefehl pmon
, mit dem detaillierte Informationen zu GPU-Prozessen abgerufen werden können.nvidia-smi pmon --delay 10 -s u -o DT
Dieser Befehl zeigt Prozessinformationen für die GPU in festgelegten Intervallen an. Die Option --delay
legt das Aktualisierungsintervall in Sekunden fest. Außerdem kann die Art der angezeigten Informationen angepasst werden.4. Installation und Überprüfung des NVIDIA-Treibers
Um eine NVIDIA-GPU unter Ubuntu zu verwenden, muss der entsprechende NVIDIA-Treiber installiert sein. Im Folgenden wird die Installation und Überprüfung des Treibers beschrieben.Installation des Treibers
Zunächst muss der passende NVIDIA-Treiber für das System installiert werden. Mit folgendem Befehl kann der empfohlene Treiber installiert werden:sudo apt install nvidia-driver-510
Nach Abschluss der Installation sollte das System neu gestartet werden.Überprüfung der Installation
Nach dem Neustart können Sie überprüfen, ob der Treiber korrekt installiert wurde, indem Sie folgenden Befehl ausführen:nvidia-smi
Wenn die Treiberversion und die CUDA-Version angezeigt werden, wurde der Treiber erfolgreich installiert.
5. Überprüfung der GPU-Funktion mit TensorFlow
Um zu testen, ob die GPU ordnungsgemäß funktioniert, kann das maschinelle Lern-Framework TensorFlow verwendet werden.Installation von Anaconda
Zunächst wird Anaconda installiert, um eine geeignete Umgebung einzurichten.bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1
Überprüfung der GPU-Nutzung mit TensorFlow
Anschließend kann überprüft werden, ob TensorFlow die GPU erkennt.from tensorflow.python.client import device_lib
device_lib.list_local_devices()
Wenn in der Ausgabe eine GPU aufgelistet wird, erkennt TensorFlow die GPU korrekt.6. GPU-Monitoring und Protokollierung
Mitnvidia-smi
kann die GPU-Nutzung in Echtzeit überwacht und protokolliert werden. Dies ermöglicht die langfristige Verfolgung der GPU-Auslastung und hilft bei der Leistungsoptimierung.Regelmäßiges Monitoring
Für eine regelmäßige Überwachung kann mit der Option-l
das Aktualisierungsintervall festgelegt und die Ausgabe in eine Datei gespeichert werden.nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log
Programmierbare Steuerung mit Python-Bindings
nvidia-smi
verfügt über Python-Bindings (nvidia-ml-py
), die es ermöglichen, GPU-Informationen programmgesteuert mit Python abzurufen. Dies erlaubt eine individuelle Überwachung und Steuerung.
7. Fazit
nvidia-smi
ist ein leistungsstarkes Tool zur Überwachung und Verwaltung von NVIDIA-GPUs unter Ubuntu. In diesem Artikel wurden die grundlegende Nutzung von nvidia-smi
, das Abrufen von Prozessinformationen, die Treiberinstallation und die Überprüfung der GPU-Funktion mit TensorFlow behandelt. Nutzen Sie dieses Wissen, um die GPU-Leistung zu maximieren und Ihr System zu optimieren.