Per contribuire a un migliore utilizzo delle risorse, puoi monitorare le percentuali di utilizzo della GPU delle tue istanze di macchine virtuali (VM).
Quando conosci le percentuali di utilizzo delle GPU, puoi eseguire attività come la configurazione di gruppi di istanze gestite che possono essere utilizzati per scalare automaticamente le risorse.
Per esaminare le metriche della GPU utilizzando Cloud Monitoring, completa i seguenti passaggi:
- Su ogni VM, configura lo script di generazione di report sulle metriche GPU. Questo script installa l'agente di generazione di report sulle metriche GPU. Questo agente viene eseguito a intervalli sulla VM per raccogliere i dati della GPU e li invia a Cloud Monitoring.
- Su ogni VM, esegui lo script.
- In ogni VM, imposta l'agente di generazione di report sulle metriche GPU in modo che si avvii automaticamente all'avvio.
- Visualizza i log in Cloud Monitoring di Google Cloud.
Ruoli obbligatori
Per monitorare le prestazioni della GPU sulle VM Windows, devi concedere i ruoli IAM (Identity and Access Management) richiesti ai seguenti principi:
- L'account di servizio utilizzato dall'istanza VM
- Il tuo account utente
Per assicurarti che tu e l'account di servizio della VM disponiate delle autorizzazioni necessarie per monitorare le prestazioni della GPU sulle VM Windows, chiedi all'amministratore di concedere a te e all'account di servizio della VM i seguenti ruoli IAM nel progetto:
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Monitoring Metric Writer (
roles/monitoring.metricWriter
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche assegnare a te e all'account di servizio della VM le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Configurare lo script di generazione di report sulle metriche GPU
Requisiti
In ogni VM, verifica di soddisfare i seguenti requisiti:
- Ogni VM deve avere GPU collegate.
- In ogni VM deve essere installato un driver GPU.
Scaricare lo script
Apri un terminale PowerShell come amministratore e utilizza il
comando Invoke-WebRequest
per scaricare lo script.
Invoke-WebRequest
è disponibile su PowerShell 3.0 o versioni successive.
Google Cloud consiglia di utilizzare ctrl+v
per incollare i blocchi di codice copiati.
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
Esegui lo script
cd c:\google-scripts .\gce-gpu-monitoring-cuda.ps1
Configurare l'agente in modo che venga avviato automaticamente all'avvio
Per assicurarti che l'agente di generazione di report sulle metriche GPU sia configurato per l'esecuzione all'avvio del sistema, utilizza il seguente comando per aggiungerlo al programma di pianificazione delle attività di Windows.
$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
Esamina le metriche in Cloud Monitoring
Nella console Google Cloud, vai alla pagina Esplora metriche.
Espandi il menu Seleziona una metrica.
Nel menu Risorsa, seleziona Istanza VM.
Nel menu Categoria metrica, seleziona Personalizzata.
Nel menu Metrica, seleziona la metrica da rappresentare nel grafico. Ad esempio
custom/instance/gpu/utilization
.Fai clic su Applica.
L'utilizzo della GPU dovrebbe essere simile al seguente output:
Metriche disponibili
Nome metrica | Descrizione |
---|---|
instance/gpu/utilization |
Percentuale di tempo nell'ultimo periodo di esempio durante il quale uno o più kernel sono stati eseguiti sulla GPU. |
instance/gpu/memory_utilization |
Percentuale di tempo nell'ultimo periodo di esempio in cui è stata letta o scritta la memoria globale (dispositivo). |
instance/gpu/memory_total |
Memoria GPU totale installata. |
instance/gpu/memory_used |
Memoria totale allocata dai contesti attivi. |
instance/gpu/memory_used_percent |
Percentuale di memoria totale allocata dai contesti attivi. Intervallo da 0 a 100. |
instance/gpu/memory_free |
Memoria libera totale. |
instance/gpu/temperature |
Temperatura del core della GPU in gradi Celsius (°C). |
Passaggi successivi
- Per gestire la manutenzione dell'host GPU, consulta Gestione degli eventi di manutenzione dell'host GPU.
- Per migliorare le prestazioni della rete, consulta Utilizzare una larghezza di banda di rete superiore.