Zur besseren Ressourcenauslastung können Sie die GPU-Nutzungsraten Ihrer VM-Instanzen verfolgen.
Wenn Sie die GPU-Nutzungsraten kennen, können Sie beispielsweise verwaltete Instanzgruppen einrichten, um Ressourcen automatisch zu skalieren.
Führen Sie die folgenden Schritte aus, um die GPU-Messwerte mit Cloud Monitoring zu prüfen:
- Richten Sie auf jeder VM das Berichtsskript für GPU-Messwerte ein. Dieses Skript installiert den Berichts-Agent für GPU-Messwerte. Dieser Agent wird in Intervallen auf der VM ausgeführt, um GPU-Daten zu erfassen und an Cloud Monitoring zu senden.
- Führen Sie auf jeder VM das Skript aus.
- Legen Sie auf jeder VM fest, dass der Berichts-Agent für GPU-Messwerte automatisch beim Hochfahren startet.
- Sehen Sie sich die Logs in Cloud Monitoring an.
Berichtsskript für GPU-Messwerte einrichten
Voraussetzungen
Prüfen Sie auf allen VMs, ob die folgenden Anforderungen erfüllt werden:
- An jede VM müssen GPUs angehängt sein.
- Auf jeder VM-Instanz muss ein GPU-Treiber installiert sein.
Skript herunterladen
Öffnen Sie ein PowerShell-Terminal als Administrator und laden Sie das Skript mit dem Befehl Invoke-WebRequest
herunter.
Invoke-WebRequest
ist ab PowerShell 3.0 verfügbar.
Google Cloud empfiehlt, dass Sie die kopierten Codeblöcke mit ctrl+v
einfügen.
mkdir c:\google-scripts cd c:\google-scripts Invoke-Webrequest -uri https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-monitoring/main/windows/gce-gpu-monitoring-cuda.ps1 -outfile gce-gpu-monitoring-cuda.ps1
Skript ausführen
cd c:\google-scripts .\gce-gpu-monitoring-cuda.ps1
Agent so konfigurieren, dass er beim Booten automatisch gestartet wird
Wenn Sie prüfen möchten, ob der Agent für Berichte mit GPU-Messwerten beim Systemstart ausgeführt wird, fügen Sie ihn mit dem folgenden Befehl dem Windows-Aufgabenplaner hinzu.
$Trigger= New-ScheduledTaskTrigger -AtStartup $Trigger.ExecutionTimeLimit = "PT0S" $User= "NT AUTHORITY\SYSTEM" $Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\google-scripts\gce-gpu-monitoring-cuda.ps1" $settingsSet = New-ScheduledTaskSettingsSet # Set the Execution Time Limit to unlimited on all versions of Windows Server $settingsSet.ExecutionTimeLimit = 'PT0S' Register-ScheduledTask -TaskName "MonitoringGPUs" -Trigger $Trigger -User $User -Action $Action -Force -Settings $settingsSet
Messwerte in Cloud Monitoring prüfen
Rufen Sie in der Google Cloud Console die Seite Metrics Explorer auf.
Maximieren Sie das Menü Messwert auswählen.
Wählen Sie im Menü Ressource die Option VM-Instanz aus.
Wählen Sie im Menü Messwertkategorie die Option Benutzerdefiniert aus.
Wählen Sie im Menü Messwert den Messwert aus, der dargestellt werden soll. Beispiel:
custom/instance/gpu/utilization
.Klicken Sie auf Anwenden.
Ihre GPU-Auslastung sollte der folgenden Ausgabe entsprechen:
Verfügbare Messwerte
Messwertname | Beschreibung |
---|---|
instance/gpu/utilization |
Prozentsatz der Zeit während des vergangenen Stichprobenzeitraums, in der mindestens ein Kernel auf der GPU ausgeführt wurde. |
instance/gpu/memory_utilization |
Prozentsatz der Zeit während des vergangenen Stichprobenzeitraums, in der in den globalen Arbeitsspeicher (von Geräten) geschrieben oder aus diesem gelesen wurde. |
instance/gpu/memory_total |
Der gesamte installierte GPU-Arbeitsspeicher. |
instance/gpu/memory_used |
Gesamter Arbeitsspeicher, der aktiven Kontexten zugewiesen ist. |
instance/gpu/memory_used_percent |
Prozentsatz des gesamten Arbeitsspeichers, der von aktiven Kontexten zugewiesen ist. Liegt im Bereich von 1 % bis 100 %. |
instance/gpu/memory_free |
Insgesamt verfügbarer Speicher. |
instance/gpu/temperature |
Kern-GPU-Temperatur in Celsius (°C). |
Nächste Schritte
- GPU-Hostwartungen
- Informationen zum Verbessern der Netzwerkleistung finden Sie unter Höhere Netzwerkbandbreite verwenden.