Attiva la PMU nelle istanze Compute Engine

Questo documento spiega come attivare l'unità di monitoraggio delle prestazioni (PMU) nelle istanze Compute Engine A4X, C4A, C4 o M4. Dopo aver abilitato la PMU, puoi utilizzarla per ottimizzare i carichi di lavoro sensibili alle prestazioni, come il computing ad alte prestazioni (HPC) o il machine learning (ML), identificando e risolvendo i colli di bottiglia delle applicazioni.

Per saperne di più sui requisiti e sulle limitazioni che applichi quando attivi la PMU in un'istanza di computing, consulta la panoramica della PMU.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per attivare la PMU in un'istanza di computing nuova o esistente, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) sul progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per attivare la PMU in un'istanza di computing nuova o esistente. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per attivare la PMU in un'istanza di computing nuova o esistente sono necessarie le seguenti autorizzazioni:

  • Per creare istanze di computing:
    • compute.instances.create sul progetto
    • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
    • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly sullo snapshot
    • Per utilizzare un template di istanza per creare la VM: compute.instanceTemplates.useReadOnly sul template di istanza
    • Per assegnare una rete legacy alla VM: compute.networks.use sul progetto
    • Per specificare un indirizzo IP statico per la VM: compute.addresses.use sul progetto
    • Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy: compute.networks.useExternalIp sul progetto
    • Per specificare una subnet per la VM: compute.subnetworks.use sul progetto o sulla subnet scelta
    • Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete VPC: compute.subnetworks.useExternalIp sul progetto o sulla subnet scelta
    • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata sul progetto
    • Per impostare i tag per la VM: compute.instances.setTags sulla VM
    • Per impostare le etichette per la VM: compute.instances.setLabels sulla VM
    • Per impostare un service account da utilizzare per la VM: compute.instances.setServiceAccount sulla VM
    • Per creare un nuovo disco per la VM: compute.disks.create sul progetto
    • Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura: compute.disks.use sul disco
    • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco
  • Per creare un template di istanza: compute.instanceTemplates.create sul progetto
  • Per aggiornare un'istanza di computing: compute.instances.update sull'istanza di computing

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Attiva la PMU nelle istanze di calcolo

Per attivare la PMU in una o più istanze di computing, utilizza uno dei seguenti metodi:

Dopo aver attivato la PMU in una o più istanze di calcolo, puoi installare e utilizzare il software di monitoraggio delle prestazioni sulle istanze di calcolo.

Attiva la PMU in un'istanza di computing esistente

Prima di attivare la PMU in un'istanza di computing esistente, devi verificare che l'istanza di computing utilizzi una serie di macchine e una piattaforma CPU supportate. Per verificare la serie di macchine e la piattaforma CPU utilizzate dall'istanza di computing, visualizza i dettagli dell'istanza di computing.

Se la tua istanza di computing non utilizza una serie di macchine supportata, sostituisci il tipo di macchina dell'istanza di computing. Puoi farlo eseguendo la migrazione del carico di lavoro a una nuova istanza di computing che utilizza un tipo di macchina supportato oppure modificando il tipo di macchina per le configurazioni supportate:

  • Se devi spostare l'istanza di computing esistente in una nuova istanza di computing per modificare il tipo di macchina, allora crea una nuova istanza di computing con la PMU abilitata in una zona che offre la piattaforma CPU che vuoi utilizzare con gli eventi PMU.

  • Se puoi modificare il tipo di macchina, completa i seguenti passaggi:

    1. Verifica che una piattaforma CPU supportata sia disponibile nella zona in cui esiste la tua istanza di computing esaminando le regioni e zone disponibili.

    2. Se nella zona della tua istanza di computing non è disponibile una piattaforma CPU supportata, esegui la migrazione dell'istanza di computing in una zona che dispone di una piattaforma CPU supportata.

    3. Cambia il tipo di macchina. Per attivare il tipo di PMU Architettura o Standard, puoi specificare qualsiasi tipo di macchina A4X, C4A, C4 o M4. Tuttavia, per attivare il tipo di PMU avanzata, devi specificare uno dei seguenti tipi di macchina C4 o M4:

      • Qualsiasi tipo di macchina C4 con 144 o 288 vCPU

      • Uno dei seguenti tipi di macchine M4:

        • m4-megamem-112

        • m4-megamem-224

        • m4-ultramem-56

        • m4-ultramem-112

        • m4-ultramem-224

Non è necessario arrestare l'istanza di computing per attivare la PMU. Tuttavia, per rendere effettiva la modifica, devi riavviare l'istanza di computing come descritto in questa sezione.

Per attivare la PMU in un'istanza di computing esistente, seleziona una delle seguenti opzioni:

gcloud

  1. Crea un file YAML vuoto.

  2. Per esportare le proprietà di un'istanza di computing nel file YAML appena creato, utilizza il comando gcloud compute instances export:

    gcloud compute instances export INSTANCE_NAME \
        --destination=YAML_FILE \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza di computing.

    • YAML_FILE: il percorso del file YAML creato nel passaggio precedente.

    • ZONE: la zona in cui esiste l'istanza di computing.

  3. Nel file di configurazione YAML, nel campo advancedMachineFeatures, aggiungi il campo performanceMonitoringUnit. Se il campo advancedMachineFeatures non esiste, aggiungi anche questo:

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    

    Sostituisci PMU_TYPE con uno dei seguenti valori:

    • Tipo di PMU Architettura: ARCHITECTURAL

    • Tipo di PMU Standard: STANDARD

    • Tipo di PMU Avanzata: ENHANCED

  4. Per aggiornare l'istanza di Compute e riavviarla, utilizza il comando gcloud compute instances update-from-file con il flag --most-disruptive-allowed-action impostato su RESTART:

    gcloud compute instances update-from-file INSTANCE_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Sostituisci YAML_FILE con il percorso del file YAML con i dati di configurazione modificati nel passaggio precedente.

REST

  1. Per visualizzare le proprietà di un'istanza di computing esistente, invia una richiesta GET al metodo instances.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui hai creato l'istanza di computing.

    • ZONE: la zona in cui esiste l'istanza di computing.

    • INSTANCE_NAME: il nome dell'istanza di computing.

  2. Per aggiornare l'istanza di computing e riavviarla, invia una richiesta PUT al metodo instances.update come segue:

    • Nell'URL della richiesta, includi il parametro di query mostDisruptiveAllowedAction impostato su RESTART.

    • Per il corpo della richiesta, utilizza l'output della richiesta GET del passaggio precedente. Tuttavia, nel campo advancedMachineFeatures, devi aggiungere il campo performanceMonitoringUnit per attivare la PMU. Se il campo advancedMachineFeatures non esiste nell'output della richiesta, aggiungilo anche tu:

    La richiesta PUT è simile alla seguente:

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART
    
    {
      "advancedMachineFeatures": {
        "performanceMonitoringUnit": "PMU_TYPE"
      },
      ...
    }
    

    Sostituisci PMU_TYPE con uno dei seguenti valori:

    • Tipo di PMU Architettura: ARCHITECTURAL

    • Tipo di PMU Standard: STANDARD

    • Tipo di PMU Avanzata: ENHANCED

Per saperne di più sull'aggiornamento delle proprietà di un'istanza di computing, consulta Aggiorna le proprietà delle istanze.

Attiva la PMU durante la creazione di un'istanza di computing

Puoi creare un'istanza di computing con PMU attivata solo in una zona che contiene una piattaforma CPU supportata. Per un elenco delle CPU disponibili per zona, consulta Regioni e zone disponibili.

Per creare un'istanza di computing con PMU attivata, seleziona una delle seguenti opzioni:

gcloud

Per creare un'istanza di computing con PMU attivata, utilizza il comando gcloud compute instances create con il flag --performance-monitoring-unit:

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --performance-monitoring-unit=PMU_TYPE \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza di computing.

  • MACHINE_TYPE: il tipo di macchina per l'istanza di computing. Se vuoi attivare il tipo di PMU avanzata in un'istanza di computing, puoi farlo solo se l'istanza di computing utilizza un tipo di macchina supportato.

  • PMU_TYPE: il tipo di PMU da attivare nell'istanza di computing. Specifica uno dei seguenti valori:

    • Tipo di PMU Architettura: architectural

    • Tipo di PMU Standard: standard

    • Tipo di PMU Avanzata: enhanced

  • ZONE: la zona in cui creare l'istanza di computing.

REST

Per creare un'istanza di Compute con PMU attivata, invia una richiesta POST al metodo instances.insert. Nel corpo della richiesta, includi il campo performanceMonitoringUnit:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "advancedMachineFeatures": {
    "performanceMonitoringUnit": "PMU_TYPE"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare l'istanza di computing.

  • ZONE: la zona in cui creare l'istanza di computing.

  • INSTANCE_NAME: il nome dell'istanza di computing.

  • MACHINE_TYPE: il tipo di macchina per l'istanza di computing. Se vuoi attivare il tipo di PMU avanzata in un'istanza di computing, puoi farlo solo se l'istanza di computing utilizza un tipo di macchina supportato.

  • IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo, viene specificata l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

  • PMU_TYPE: il tipo di PMU da attivare nell'istanza di computing. Specifica uno dei seguenti valori:

    • Tipo di PMU Architettura: ARCHITECTURAL

    • Tipo di PMU Standard: STANDARD

    • Tipo di PMU Avanzata: ENHANCED

Per saperne di più sulla creazione di un'istanza di computing, consulta Crea e avvia un'istanza Compute Engine.

Attiva la PMU durante la creazione collettiva di istanze di calcolo

Puoi creare in blocco istanze di computing con PMU attivata solo in una zona che contiene una piattaforma CPU supportata. Per un elenco delle CPU disponibili per zona, consulta Regioni e zone disponibili.

Per creare in blocco istanze di computing con PMU attivata, seleziona una delle seguenti opzioni:

gcloud

Per creare in blocco istanze di Compute con PMU attivata, utilizza il comando gcloud compute instances bulk create con il flag --performance-monitoring-unit.

Ad esempio, per creare in blocco istanze di computing in un'unica zona e specificare un pattern di nomi, esegui questo comando:

gcloud compute instances bulk create \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --name-pattern="NAME_PATTERN" \
    --performance-monitoring-unit=PMU_TYPE \
    --zone=ZONE

Sostituisci quanto segue:

  • COUNT: il numero di istanze di computing da creare.

  • MACHINE_TYPE: il tipo di macchina per le istanze di Compute. Se vuoi attivare il tipo di PMU avanzata in un'istanza di computing, puoi farlo solo se l'istanza di computing utilizza un tipo di macchina supportato.

  • NAME_PATTERN: il pattern del nome per le istanze di computing. Per sostituire una sequenza di numeri in un nome di istanza di computing, utilizza una sequenza di caratteri hash (#). Ad esempio, l'utilizzo di instance-# per il pattern del nome genera istanze di Compute con nomi che iniziano con instance-1, instance-2 e via di seguito fino al numero di istanze di Compute specificato da COUNT.

  • PMU_TYPE: il tipo di PMU da attivare nelle istanze di computing. Specifica uno dei seguenti valori:

    • Tipo di PMU Architettura: architectural

    • Tipo di PMU Standard: standard

    • Tipo di PMU Avanzata: enhanced

  • ZONE: la zona in cui creare istanze di computing in blocco.

REST

Per creare in blocco istanze di computing con PMU attivata, invia una richiesta POST al metodo instances.bulkInsert. Nel corpo della richiesta, includi il campo performanceMonitoringUnit.

Ad esempio, per creare in blocco istanze di computing in un'unica zona e specificare un pattern di nomi, invia una richiesta POST nel modo seguente:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "advancedMachineFeatures": {
      "performanceMonitoringUnit": "PMU_TYPE"
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare le istanze di computing in blocco.

  • ZONE: la zona in cui creare istanze di computing in blocco.

  • COUNT: il numero di istanze di computing da creare.

  • NAME_PATTERN: il pattern del nome per le istanze di computing. Per sostituire una sequenza di numeri in un nome di istanza di computing, utilizza una sequenza di caratteri hash (#). Ad esempio, l'utilizzo di instance-# per il pattern del nome genera istanze di Compute con nomi che iniziano con instance-1, instance-2 e via di seguito fino al numero di istanze di Compute specificato da COUNT.

  • MACHINE_TYPE: il tipo di macchina per le istanze di Compute. Se vuoi attivare il tipo di PMU avanzata in un'istanza di computing, puoi farlo solo se l'istanza di computing utilizza un tipo di macchina supportato.

  • IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo, viene specificata l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

  • PMU_TYPE: il tipo di PMU da attivare nelle istanze di computing. Specifica uno dei seguenti valori:

    • Tipo di PMU Architettura: ARCHITECTURAL

    • Tipo di PMU Standard: STANDARD

    • Tipo di PMU Avanzata: ENHANCED

Per saperne di più sulla creazione di istanze di calcolo in blocco, consulta Crea VM in blocco.

Attiva la PMU durante la creazione di un template di istanza

Se vuoi creare un template di istanza regionale che specifichi di attivare la PMU, assicurati che almeno una zona all'interno della regione selezionata contenga una piattaforma CPU supportata. Per un elenco delle CPU disponibili per zona, consulta Regioni e zone disponibili.

Dopo aver creato un modello di istanza che specifica di attivare la PMU, puoi utilizzare il modello per:

Per creare un modello di istanza che specifica di attivare la PMU, seleziona una delle seguenti opzioni:

gcloud

Per creare un template di istanza che specifica di attivare PMU, utilizza il comando gcloud compute instance-templates create con il flag --performance-monitoring-unit.

Ad esempio, per creare un template di istanza regionale, utilizza il seguente comando: Se vuoi creare un template di istanza globale, utilizza lo stesso comando senza il flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --performance-monitoring-unit=PMU_TYPE

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.

  • REGION: la regione in cui creare il template di istanza.

  • MACHINE_TYPE: il tipo di macchina per le istanze di Compute. Se vuoi attivare il tipo di PMU avanzata in un'istanza di computing, puoi farlo solo se l'istanza di computing utilizza un tipo di macchina supportato.

  • PMU_TYPE: il tipo di PMU da includere nel template di istanza. Specifica uno dei seguenti valori:

    • Tipo di PMU Architettura: architectural

    • Tipo di PMU Standard: standard

    • Tipo di PMU Avanzata: enhanced

REST

Per creare un template di istanza che specifichi di attivare la PMU, invia una richiesta POST utilizzando uno dei seguenti metodi:

Nel corpo della richiesta, includi il campo performanceMonitoringUnit.

Ad esempio, per creare un template di istanza regionale che specifichi di abilitare la PMU, effettua una richiesta POST come segue:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "advancedMachineFeatures": {
      "performanceMonitoringUnit": "PMU_TYPE"
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare il template di istanza.

  • REGION: la regione in cui creare il template di istanza.

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.

  • IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo, viene specificata l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

  • MACHINE_TYPE: il tipo di macchina per le istanze di Compute. Se vuoi attivare il tipo di PMU avanzata in un'istanza di computing, puoi farlo solo se l'istanza di computing utilizza un tipo di macchina supportato.

  • PMU_TYPE: il tipo di PMU da includere nel template di istanza. Specifica uno dei seguenti valori:

    • Tipo di PMU Architettura: ARCHITECTURAL

    • Tipo di PMU Standard: STANDARD

    • Tipo di PMU Avanzata: ENHANCED

Per saperne di più sulla creazione di un template di istanza, consulta Crea template di istanza.

Passaggi successivi