Die NVIDIA Data Center GPU Manager-Integration erfasst wichtige erweiterte GPU-Messwerte aus DCGM, einschließlich Streaming-Multiprozessor-Block-Auslastung (SM), SM-Belegung, SM-Pipe-Auslastung, PCIe-Trafficrate und NVLink-Traffic-Rate. Informationen zum Zweck und zur Interpretation dieser Messwerte finden Sie unter Messwerte zur Profilerstellung in der DCGM-Feature-Übersicht.
Weitere Informationen zum NVIDIA Data Center GPU Manager finden Sie in der DCGM-Dokumentation. Diese Integration ist mit DCGM Version 3.1 und höher kompatibel.
Der Ops-Agent erfasst DCGM-Messwerte mithilfe der NVIDIA-Clientbibliothek go-dcgm
.
Diese Messwerte sind nur für Linux-Systeme verfügbar. Die Messwerte werden nicht von den NVIDIA GPU-Modellen P100 und P4 erfasst.
Vorbereitung
So erfassen Sie DCGM-Messwerte:
Installieren Sie den Ops-Agent. Nur Ops-Agent-Version 2.38.0 oder Version 2.41.0 oder höher ist mit GPU-Monitoring kompatibel. Installieren Sie die Ops-Agent-Versionen 2.39.0 und 2.40.0 nicht auf VMs mit angehängten GPUs. Weitere Informationen finden Sie unter Der Agent stürzt ab und der Fehlerbericht erwähnt NVIDIA.
DCGM installieren und Installation prüfen
Sie müssen die DCGM-Version 3.1 und höher installieren und prüfen, ob sie als privilegierter Dienst ausgeführt wird. Informationen zum Installieren von DCGM finden Sie in der DCGM-Dokumentation unter Installation.
So prüfen Sie, ob DCGM korrekt ausgeführt wird:
Prüfen Sie den Status des DCGM-Dienstes mit dem folgenden Befehl:
sudo service nvidia-dcgm status
Wenn der Dienst ausgeführt wird, wird der Dienst
nvidia-dcgm
alsactive (running)
aufgeführt. Die Ausgabe sollte so aussehen:● nvidia-dcgm.service - NVIDIA DCGM service Loaded: loaded (/usr/lib/systemd/system/nvidia-dcgm.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 15:24:29 UTC; 3s ago Main PID: 24388 (nv-hostengine) Tasks: 7 (limit: 14745) CGroup: /system.slice/nvidia-dcgm.service └─24388 /usr/bin/nv-hostengine -n --service-account nvidia-dcgm
Prüfen Sie mit dem folgenden Befehl, ob die GPU-Geräte gefunden wurden:
dcgmi discovery --list
Wenn Geräte gefunden werden, sieht die Ausgabe in etwa so aus:
1 GPU found. +--------+----------------------------------------------------------------------+ | GPU ID | Device Information | +--------+----------------------------------------------------------------------+ | 0 | Name: NVIDIA A100-SXM4-40GB | | | PCI Bus ID: 00000000:00:04.0 | | | Device UUID: GPU-a2d9f5c7-87d3-7d57-3277-e091ad1ba957 | +--------+----------------------------------------------------------------------+
Ops-Agent für DCGM konfigurieren
Fügen Sie die erforderlichen Elemente zum Erfassen von Telemetriedaten aus dem DCGM-Dienst gemäß der Anleitung unter Ops-Agent konfigurieren hinzu und starten Sie den Agent neu.
Konfigurationsbeispiel
Die folgenden Befehle erstellen die Konfiguration zum Erfassen und Aufnehmen von Telemetriedaten für DCGM und starten den Ops-Agent neu:
# Configures Ops Agent to collect telemetry from the app and restart Ops Agent. set -e # Create a back up of the existing file so existing configurations are not lost. sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak # Configure the Ops Agent. sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF metrics: receivers: dcgm: type: dcgm service: pipelines: dcgm: receivers: - dcgm EOF sudo systemctl restart google-cloud-ops-agent
Nachdem Sie diese Befehle ausgeführt haben, können Sie prüfen, ob der Agent neu gestartet wurde. Führen Sie den folgenden Befehl aus und prüfen Sie, ob die Sub-Agent-Komponenten „Metrics Agent“ und „Logging Agent“ als „aktiv (läuft)“ aufgeführt sind:
sudo systemctl status google-cloud-ops-agent"*"
Wenn Sie ein benutzerdefiniertes Dienstkonto anstelle des standardmäßigen Compute Engine-Dienstkontos verwenden oder wenn Sie eine sehr alte Compute Engine-VM haben, müssen Sie möglicherweise den Ops-Agent autorisieren.
Messwerterfassung konfigurieren
Um Messwerte von DCGM aufzunehmen, müssen Sie einen Empfänger für die von DCGM erzeugten Messwerte erstellen und dann eine Pipeline für den neuen Empfänger erstellen.
Dieser Empfänger unterstützt die Verwendung mehrerer Instanzen in der Konfiguration, z. B. zum Überwachen mehrerer Endpunkte, nicht. Alle diese Instanzen schreiben in dieselbe Zeitachse und Cloud Monitoring kann sie nicht unterscheiden.
Um einen Empfänger für Ihre dcgm
-Messwerte zu konfigurieren, geben Sie die folgenden Felder an:
Feld | Standard | Beschreibung |
---|---|---|
collection_interval |
60s |
Eine Zeitdauer, z. B. 30s oder 5m . |
endpoint |
localhost:5555 |
Adresse des DCGM-Dienstes, formatiert als host:port . |
type |
Dieser Wert muss dcgm sein. |
Was wird überwacht?
Die folgende Tabelle enthält die Liste der Messwerte, die der Ops-Agent aus dem DCGM-Dienst erfasst. Nicht alle Messwerte sind für alle GPU-Modelle verfügbar. Die Messwerte werden nicht von den NVIDIA GPU-Modellen P100 und P4 erfasst.
Messwerttyp | |
---|---|
Art, Typ Überwachte Ressourcen |
Labels |
workload.googleapis.com/dcgm.gpu.profiling.dram_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.nvlink_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pcie_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pipe_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe ‡uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_occupancy †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† Nicht verfügbar für die GPU-Modelle P100 und P4.
‡ Bei L4 wird der pipe
-Wert fp64
nicht unterstützt.
Darüber hinaus erfasst die integrierte Konfiguration für den Ops-Agent auch agent.googleapis.com/gpu
-Messwerte, die von der NVIDIA Management Library (NVML) gemeldet werden. Sie benötigen keine zusätzliche Konfiguration im Ops-Agent, um diese Messwerte zu erfassen. Sie müssen jedoch Ihre VM mit angehängten GPUs erstellen und den GPU-Treiber installieren.
Weitere Informationen finden Sie unter gpu
-Messwerte.
Konfiguration prüfen
In diesem Abschnitt wird beschrieben, wie Sie prüfen können, ob Sie den NVIDIA DCGM-Empfänger richtig konfiguriert haben. Es kann ein oder zwei Minuten dauern, bis der Ops-Agent Telemetriedaten erfasst.
So prüfen Sie, ob NVIDIA DCGM-Messwerte an Cloud Monitoring gesendet werden:
-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie in der Symbolleiste des Bereichs "Query Builder" auf die Schaltfläche code MQL oder code PromQL.
- Prüfen Sie, ob MQL im Schalter Sprache ausgewählt ist. Die Sprachschaltfläche befindet sich in derselben Symbolleiste, mit der Sie Ihre Abfrage formatieren können.
- Geben Sie im Editor die folgende Abfrage ein und klicken Sie dann auf Abfrage ausführen:
fetch gce_instance | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization' | every 1m
Dashboard aufrufen
Damit Sie Ihre NVIDIA-DCGM-Messwerte aufrufen können, müssen Sie ein Diagramm oder ein Dashboard konfiguriert haben. Die NVIDIA-DCGM-Integration enthält ein oder mehrere Dashboards. Alle Dashboards werden automatisch installiert, nachdem Sie die Integration konfiguriert haben und der Ops-Agent mit dem Erfassen von Messwertdaten begonnen hat.
Sie können auch eine statische Vorschau von Dashboards aufrufen, ohne die Integration zu installieren.
So rufen Sie ein installiertes Dashboard auf:
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie den Tab Dashboard-Liste und dann die Kategorie Integrationen aus.
- Wählen Sie den Namen des Dashboards aus, das Sie aufrufen möchten.
Wenn Sie eine Integration konfiguriert haben, das Dashboard jedoch nicht installiert ist, prüfen Sie, ob der Ops-Agent ausgeführt wird. Wenn im Dashboard keine Messwertdaten für ein Diagramm vorhanden sind, schlägt die Installation des Dashboards fehl. Nachdem der Ops-Agent mit dem Erfassen von Messwerten begonnen hat, wird das Dashboard für Sie installiert.
So rufen Sie eine statische Vorschau des Dashboards auf:
-
Öffnen Sie in der Google Cloud Console die Seite Einbindungen:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie auf den Filter für die Deployment-Plattform Compute Engine.
- Suchen Sie den Eintrag für NVIDIA DCGM und klicken Sie auf Details ansehen.
- Wählen Sie den Tab Dashboards aus, um eine statische Vorschau aufzurufen. Wenn das Dashboard installiert ist, können Sie es aufrufen. Klicken Sie dazu auf Dashboard aufrufen.
Weitere Informationen zu Dashboards in Cloud Monitoring finden Sie unter Dashboards und Diagramme.
Weitere Informationen zur Verwendung der Seite Integrationen finden Sie unter Integrationen verwalten.
DCGM-Einschränkungen und Profilerstellung pausieren
Die gleichzeitige Verwendung von DCGM kann zu einem Konflikt mit anderen NVIDIA-Entwicklertools wie Nsight Systems oder Nsight Compute führen. Diese Einschränkung gilt für NVIDIA A100- und frühere GPUs. Weitere Informationen finden Sie unter Profilerstellungsrate im DCGM-Featureübersicht.
Wenn Sie Tools wie Nsight Systems ohne wesentliche Unterbrechung verwenden müssen, können Sie die Messwerterfassung vorübergehend anhalten oder fortsetzen. Dazu verwenden Sie folgende Befehle:
dcgmi profile --pause dcgmi profile --resume
Wenn die Profilerstellung pausiert ist, wird keiner der DCGM-Messwerte, die der Ops-Agent erfasst, von der VM ausgegeben.
Nächste Schritte
Eine Anleitung zur Installation von Ops-Agent mit Ansible zum Konfigurieren einer Drittanbieteranwendung und zum Installieren eines Beispieldashboards finden Sie im Video Ops-Agent installieren, um Fehler in Drittanbieteranwendungen zu beheben.