Sie können GPU-Auslastung, Leistung und Zustand überwachen, indem Sie KGE zum Senden von NVIDIA Data Center GPU Manager-Messwerte (DCGM) zu Cloud Monitoring konfigurieren.
Wenn Sie DCGM-Messwerte aktivieren, installiert GKE das DCGM-Exporter-Tool, installiert von Google verwaltete GPU-Treiber und stellt eine ClusterPodMonitoring-Ressource bereit, um Messwerte an Google Cloud Managed Service for Prometheus zu senden.
Sie können auch selbstverwaltetes DCGMkonfigurieren, wenn Sie die DCGM-Messwerte anpassen möchten oder wenn Sie einen Cluster haben, der die Anforderungen für verwaltete DCGM-Messwerte nicht erfüllt.
Was ist DCGM?
NVIDIA Data Center GPU Manager (DCGM) besteht aus einer Reihe von Tools von NVIDIA, mit denen Sie NVIDIA-GPUs verwalten und überwachen können. DCGM bietet eine umfassende Ansicht von GPU-Auslastung, -Leistung und -Zustand.
- GPU-Auslastungsmesswerte geben an, wie ausgelastet die überwachte GPU ist und ob sie effektiv für Verarbeitungsaufgaben genutzt wird. Dazu gehören Messwerte für Kernverarbeitung, Arbeitsspeicher, E/A und Stromauslastung.
- GPU-Leistungsmesswerte geben an, wie effektiv und effizient eine GPU eine Rechenaufgabe ausführen kann. Dazu gehören Messwerte für Taktgeschwindigkeit und Temperatur.
- GPU-E/A-Messwerte wie NVlink und PCIe messen die Datenübertragungsbandbreite.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Anforderungen für NVIDIA Data Center GPU Manager-Messwerte (DCGM)
Zum Erfassen von NVIDIA Data Center GPU Manager-Messwerten (DCGM) muss Ihr GKE-Cluster die folgenden Anforderungen erfüllen:
- GKE-Version 1.30.1-gke.1204000 oder höher
- Systemmesswerte-Sammlung muss aktiviert sein
- Verwaltete Sammlung von Google Cloud Managed Service for Prometheus muss aktiviert sein
- Auf den Knotenpools müssen von der GKE verwaltete GPU-Treiber ausgeführt werden. Das bedeutet, dass Sie Ihre Knotenpools mit
default
oderlatest
für--gpu-driver-version
erstellen müssen. - Profilerstellung für Messwerte werden nur für NVIDIA H100-GPUs mit 80 GB erfasst.
Erfassung von DCGM-Messwerten konfigurieren
Sie können GKE aktivieren, um DCGM-Messwerte für einen vorhandenen Cluster mithilfe der Google Cloud Console, der gcloud CLI oder Terraform zu erfassen.
Console
Erstellen Sie einen GPU-Knotenpool.
Sie müssen für die GPU-Treiberinstallation entweder die Standardeinstellung oder die neueste Version verwenden.
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf den Namen Ihres Clusters.
Klicken Sie neben Cloud Monitoring auf edit.
Wählen Sie
SYSTEM
undDCGM
aus.Klicken Sie auf „Speichern“.
gcloud
Erstellen Sie einen GPU-Knotenpool.
Für
--gpu-driver-version
müssen Sie entwederdefault
oderlatest
verwenden.Cluster aktualisieren:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus \ --monitoring=SYSTEM,DCGM
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des vorhandenen Clusters.COMPUTE_LOCATION
: der Compute Engine-Standort des Clusters.
Terraform
Informationen zum Konfigurieren der Erfassung von Messwerten mit Terraform finden Sie im Block monitoring_config
in der Terraform-Registry für google_container_cluster
.
Allgemeine Informationen zur Verwendung von Google Cloud mit Terraform finden Sie unter Terraform mit Google Cloud.
DCGM-Messwerte verwenden
Sie können DCGM-Messwerte über die Dashboards in der Google Cloud Console oder direkt auf der Seite mit der Clusterübersicht und den Clusterdetails aufrufen. Weitere Informationen finden Sie unter Beobachtbarkeitsmesswerte aufrufen.
Messwerte lassen sich mit dem Grafana DCGM-Messwerte-Dashboard anzeigen. Weitere Informationen finden Sie unter Abfrage mit Grafana. Wenn Fehler auftreten, lesen Sie API-Kompatibilität:
Preise
DCGM-Messwerte nutzen Google Cloud Managed Service for Prometheus zum Laden von Messwerten in Cloud Monitoring. Die Gebühren für die Aufnahme dieser Messwerte in Cloud Monitoring basieren auf der Anzahl der aufgenommenen Stichproben. Für registrierte Cluster, die zu einem Projekt gehören, bei denen GKE Enterprise-Edition aktiviert ist, fallen keine Kosten an.
Weitere Informationen finden Sie unter Cloud Monitoring-Preise.
Kontingent
DCGM-Messwerte verbrauchen Kontingent für Zeitachsenaufnahmeanfragen pro Minute der Cloud Monitoring API. Bevor Sie die Messwertpakete aktivieren, prüfen Sie Ihre letzte Spitzennutzung dieses Kontingents. Wenn sich viele Cluster im selben Projekt befinden oder sich dem Limit dieses Kontingents nähern, können Sie eine Erhöhung des Kontingentlimits beantragen, bevor Sie ein Beobachtbarkeitspaket aktivieren.
DCGM-Messwerte
Die Cloud Monitoring-Messwertnamen in dieser Tabelle müssen das Präfix prometheus.googleapis.com/
haben. Dieses Präfix wurde in den Einträgen der Tabelle weggelassen.
Zusammen mit den Labels in der überwachten Ressource prometheus_target
haben alle erfassten DCGM-Messwerte in GKE die folgenden Labels:
GPU-Labels:
UUID
: die GPU-Geräte-UUIDdevice
: der Name des GPU-Geräts.-
gpu
: die Indexnummer als Ganzzahl des GPU-Geräts auf dem Knoten. Wenn beispielsweise acht GPUs angehängt sind, kann dieser Wert zwischen0
und7
liegen. modelName
: der Name des GPU-Gerätemodells, z. B.NVIDIA L4
.
Kubernetes-Labels:
container
: der Name des Kubernetes-Containers, der das GPU-Gerät verwendet.-
namespace
: der Kubernetes-Namespace des Pods und des Containers mit dem GPU-Gerät. pod
: der Kubernetes-Pod, der das GPU-Gerät verwendet.
PromQL-Messwertname Cloud Monitoring-Messwertname |
|
---|---|
Art, Typ, Einheit
Überwachte Ressourcen Erforderliche GKE-Version |
Beschreibung |
DCGM_FI_DEV_FB_FREE DCGM_FI_DEV_FB_FREE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Freier Frame-Puffer in MB. |
DCGM_FI_DEV_FB_TOTAL DCGM_FI_DEV_FB_TOTAL/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Gesamter Frame-Puffer der GPU in MB. |
DCGM_FI_DEV_FB_USED DCGM_FI_DEV_FB_USED/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Verwendeter Frame-Puffer in MB. |
DCGM_FI_DEV_GPU_TEMP DCGM_FI_DEV_GPU_TEMP/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Aktuelle Temperaturmesswerte für das Gerät (in °C). |
DCGM_FI_DEV_GPU_UTIL DCGM_FI_DEV_GPU_UTIL/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
GPU-Auslastung (in %). |
DCGM_FI_DEV_MEM_COPY_UTIL DCGM_FI_DEV_MEM_COPY_UTIL/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Speicherauslastung (in %). |
DCGM_FI_DEV_MEMORY_TEMP DCGM_FI_DEV_MEMORY_TEMP/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Speichertemperatur des Geräts (in °C). |
DCGM_FI_DEV_POWER_USAGE DCGM_FI_DEV_POWER_USAGE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Stromnutzung des Geräts (in Watt). |
DCGM_FI_DEV_SM_CLOCK DCGM_FI_DEV_SM_CLOCK/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
SM-Taktfrequenz (in MHz). |
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION/counter |
|
CUMULATIVE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Gesamtenergieverbrauch der GPU in mJ seit dem letzten Laden des Treibers. |
DCGM_FI_PROF_DRAM_ACTIVE DCGM_FI_PROF_DRAM_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Das Verhältnis der Zyklen, die die Gerätespeicherschnittstelle aktiv sendet oder empfängt. |
DCGM_FI_PROF_GR_ENGINE_ACTIVE DCGM_FI_PROF_GR_ENGINE_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Das Verhältnis der Zeit, in der das Grafikmodul aktiv ist. |
DCGM_FI_PROF_NVLINK_RX_BYTES DCGM_FI_PROF_NVLINK_RX_BYTES/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Die Rate aktiver NvLink rx-Daten (Lesen) in Byte, einschließlich Header und Nutzlast. |
DCGM_FI_PROF_NVLINK_TX_BYTES DCGM_FI_PROF_NVLINK_TX_BYTES/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Die Rate aktiver NvLink tx-Daten (Übertragung) in Byte, einschließlich Header und Nutzlast. |
DCGM_FI_PROF_PCIE_RX_BYTES DCGM_FI_PROF_PCIE_RX_BYTES/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Die Rate aktiver PCIe rx-Daten (Lesevorgänge) in Byte, einschließlich Header und Nutzlast. |
DCGM_FI_PROF_PCIE_TX_BYTES DCGM_FI_PROF_PCIE_TX_BYTES/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Die Rate aktiver PCIe tx-Daten (Übertragung) in Byte, einschließlich Header und Nutzlast. |
DCGM_FI_PROF_PIPE_FP16_ACTIVE DCGM_FI_PROF_PIPE_FP16_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Das Verhältnis der Zyklen, in denen die fp16-Pipe aktiv ist. |
DCGM_FI_PROF_PIPE_FP32_ACTIVE DCGM_FI_PROF_PIPE_FP32_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Das Verhältnis der Zyklen, in denen die fp32-Pipe aktiv ist. |
DCGM_FI_PROF_PIPE_FP64_ACTIVE DCGM_FI_PROF_PIPE_FP64_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Das Verhältnis der Zyklen, in denen die fp64-Pipe aktiv ist. |
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE DCGM_FI_PROF_PIPE_TENSOR_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Das Verhältnis der Zyklen, in denen eine beliebige Tensor Pipe aktiv ist. |
DCGM_FI_PROF_SM_ACTIVE DCGM_FI_PROF_SM_ACTIVE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Das Verhältnis der Zyklen, in denen einer SM mindestens 1 Warp zugewiesen ist. |