GPU Auslastung in Echtzeit überwachen – Vollständiger Guide
Einleitung
Die Überwachung der GPU-Auslastung in Echtzeit ist essentiell für jeden, der grafische Berechnungen, maschinelles Lernen oder Mining-Anwendungen auf Linux-Systemen betreibt. Ohne eine kontinuierliche Überwachung der GPU-Performance können Sie nicht erkennen, ob Ihre Hardware optimal genutzt wird oder ob Engpässe die Leistung beeinträchtigen.
In diesem umfassenden Tutorial lernen Sie verschiedene Methoden kennen, um die GPU-Auslastung Ihres NVIDIA-basierten Systems zu überwachen. Wir behandeln sowohl einfache Kommandozeilen-Tools als auch erweiterte Dashboard-Lösungen, die Ihnen detaillierte Einblicke in die GPU-Performance geben.
Die GPU-Überwachung hilft Ihnen dabei, Probleme frühzeitig zu erkennen, die Systemleistung zu optimieren und sicherzustellen, dass Ihre teuren Grafikkarten effizient genutzt werden. Besonders bei rechenintensiven Aufgaben wie Deep Learning oder 3D-Rendering ist eine kontinuierliche Überwachung unverzichtbar.
Voraussetzungen
Bevor Sie mit der GPU-Überwachung beginnen können, müssen bestimmte Grundvoraussetzungen erfüllt sein:
- Ein Linux-System (Ubuntu, CentOS, oder andere Distributionen)
- Eine NVIDIA-Grafikkarte (GTX, RTX oder Quadro Serie)
- Installierte NVIDIA-Treiber (Version 396 oder höher empfohlen)
- Root- oder Sudo-Berechtigung für die Installation zusätzlicher Tools
- Grundlegende Kenntnisse der Linux-Kommandozeile
Überprüfen Sie zunächst, ob Ihre NVIDIA-Treiber korrekt installiert sind:
nvidia-smi
Wenn dieser Befehl erfolgreich ausgeführt wird und Informationen über Ihre GPU anzeigt, sind die Grundvoraussetzungen erfüllt. Falls nicht, müssen Sie zuerst die entsprechenden NVIDIA-Treiber für Ihr System installieren.
Schritt-für-Schritt Anleitung
Grundlegende GPU-Überwachung mit nvidia-smi
Das wichtigste Tool für die GPU-Überwachung unter Linux ist nvidia-smi (NVIDIA System Management Interface). Dieses Kommandozeilen-Tool ist standardmäßig mit den NVIDIA-Treibern installiert und bietet umfassende Informationen über Ihre Grafikkarte.
Für eine einmalige Abfrage der GPU-Informationen verwenden Sie:
nvidia-smi
Um die GPU-Auslastung kontinuierlich zu überwachen, nutzen Sie den Loop-Parameter:
nvidia-smi --loop=1
Dieser Befehl aktualisiert die Anzeige jede Sekunde und zeigt Ihnen folgende wichtige Informationen:
- GPU-Temperatur in Celsius
- Stromverbrauch in Watt
- Speicherauslastung (verwendet/verfügbar)
- GPU-Auslastung in Prozent
- Laufende Prozesse und deren Speicherverbrauch
Prozess-spezifische Überwachung
Um herauszufinden, welche Prozesse Ihre GPU nutzen, verwenden Sie den Process Monitoring Modus:
nvidia-smi pmon -s um
Dieser Befehl zeigt Ihnen für jeden GPU-nutzenden Prozess die Auslastung des Grafikprozessors und des Speichers an. Die Parameter bedeuten:
-s u: Zeigt GPU-Utilization an-s m: Zeigt Memory-Utilization an
Installation und Verwendung von nvtop
Für eine benutzerfreundlichere Oberfläche installieren Sie nvtop, ein interaktives GPU-Monitoring-Tool ähnlich wie htop für CPUs:
sudo apt update
sudo apt install nvtop
Starten Sie nvtop einfach mit:
nvtop
nvtop bietet Ihnen eine farbige, interaktive Benutzeroberfläche mit Verlaufsdiagrammen und detaillierten Prozessinformationen. Sie können durch die verschiedenen GPUs navigieren und Prozesse nach Bedarf sortieren.
Verwendung von gpustat für kompakte Übersicht
Installieren Sie gpustat für eine kompakte, einzeilige GPU-Statusanzeige:
pip install gpustat
Verwenden Sie gpustat für kontinuierliche Überwachung:
watch -n 1 gpustat
Dies zeigt eine kompakte Übersicht aller GPUs mit Temperatur, Speichernutzung und laufenden Prozessen.
Erweiterte Monitoring-Optionen
Für detailliertere Informationen können Sie nvidia-smi mit verschiedenen Parametern verwenden:
nvidia-smi -l 1 --format=csv --query-gpu=timestamp,name,temperature.gpu,utilization.gpu,utilization.memory,memory.total,memory.used
Dieser Befehl gibt die Daten im CSV-Format aus, was für die Weiterverarbeitung oder Protokollierung nützlich ist.
Automatische Protokollierung einrichten
Um GPU-Metriken automatisch zu protokollieren, erstellen Sie ein einfaches Skript:
#!/bin/bash
while true; do
echo "$(date): $(nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheader,nounits)" >> gpu_log.txt
sleep 5
done
Speichern Sie dieses Skript als gpu_monitor.sh, machen Sie es ausführbar und starten Sie es:
chmod +x gpu_monitor.sh
nohup ./gpu_monitor.sh &
Überprüfung
Nach der Einrichtung der GPU-Überwachung sollten Sie die Funktionalität überprüfen:
Test der Grundfunktionen
Führen Sie zunächst einen einfachen Test durch:
nvidia-smi -q -d UTILIZATION
Dieser Befehl sollte detaillierte Informationen über die GPU-Auslastung anzeigen.
Belastungstest durchführen
Um zu überprüfen, ob Ihre Überwachung korrekt funktioniert, führen Sie einen GPU-Belastungstest durch. Installieren Sie dazu gpu-burn:
git clone https://github.com/wilicc/gpu-burn
cd gpu-burn
make
Starten Sie den Test in einem Terminal:
./gpu_burn 60
In einem zweiten Terminal überwachen Sie die GPU-Auslastung:
nvidia-smi --loop=1
Sie sollten nun eine hohe GPU-Auslastung (nahe 100%) und steigende Temperaturen beobachten können.
Troubleshooting
nvidia-smi funktioniert nicht
Falls nvidia-smi nicht verfügbar ist oder Fehler meldet:
- Überprüfen Sie, ob NVIDIA-Treiber installiert sind:
lsmod | grep nvidia - Installieren Sie die neuesten Treiber über den Paketmanager oder von der NVIDIA-Website
- Starten Sie das System nach der Treiberinstallation neu
Keine GPU-Prozesse sichtbar
Wenn keine GPU-nutzenden Prozesse angezeigt werden:
- Stellen Sie sicher, dass tatsächlich GPU-intensive Anwendungen laufen
- Überprüfen Sie, ob die Anwendungen CUDA oder OpenCL verwenden
- Verwenden Sie
nvidia-smi pmon -i 0für spezifische GPU-Überwachung
Berechtigungsprobleme
Bei Berechtigungsproblemen:
- Fügen Sie Ihren Benutzer zur Gruppe
videohinzu:sudo usermod -a -G video $USER - Melden Sie sich ab und wieder an
- Verwenden Sie
sudofür administrative Befehle
nvtop Installation schlägt fehl
Falls nvtop nicht über den Paketmanager verfügbar ist:
sudo apt install cmake libncurses5-dev libncursesw5-dev git
git clone https://github.com/Syllo/nvtop.git
mkdir -p nvtop/build && cd nvtop/build
cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True
make
sudo make install
Fazit
Die Überwachung der GPU-Auslastung in Echtzeit ist ein kritischer Aspekt für die optimale Nutzung Ihrer Hardware-Ressourcen. Mit den in diesem Tutorial vorgestellten Tools und Techniken haben Sie ein umfassendes Arsenal zur Verfügung, um Ihre NVIDIA-GPUs effektiv zu überwachen.
Das grundlegende nvidia-smi Tool bietet Ihnen schnellen Zugriff auf alle wichtigen GPU-Metriken, während erweiterte Tools wie nvtop und gpustat eine benutzerfreundlichere Darstellung ermöglichen. Die automatische Protokollierung hilft Ihnen dabei, langfristige Trends zu erkennen und Performance-Probleme zu identifizieren.
Denken Sie daran, dass die GPU-Überwachung nicht nur aus der reinen Auslastung besteht. Temperatur, Speichernutzung und Stromverbrauch sind gleichermaßen wichtige Indikatoren für die Gesundheit und Effizienz Ihres Systems. Regelmäßige Überwachung hilft Ihnen dabei, Hardware-Probleme frühzeitig zu erkennen und die Lebensdauer Ihrer GPU zu verlängern.
Mit diesem Wissen sind Sie nun in der Lage, Ihre GPU-Ressourcen optimal zu überwachen und zu verwalten, was besonders bei rechenintensiven Anwendungen wie maschinellem Lernen, wissenschaftlichen Berechnungen oder Content-Erstellung von entscheidender Bedeutung ist.