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-Tools nvidia-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
Mit nvidia-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
Mit nvidia-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.