Attiva la PMU nelle VM


Questo documento spiega come attivare l'unità di monitoraggio delle prestazioni (PMU) nelle istanze di macchine virtuali (VM) nuove o esistenti. Per saperne di più sulla PMU, consulta la panoramica della PMU.

Dopo aver attivato la PMU in una VM C4A o C4 e aver eseguito la connessione, puoi eseguire e installare software di monitoraggio delle prestazioni sulla VM per analizzare e ottimizzare le prestazioni del software in esecuzione sulla VM. Questo approccio è utile quando si eseguono workload sensibili alle prestazioni, come quelli di computing ad alte prestazioni (HPC) o di machine learning (ML).

Prima di iniziare

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

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.

    REST

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

      Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per attivare la PMU in una VM 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 una VM nuova o esistente. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per attivare la PMU in una VM nuova o esistente sono necessarie le seguenti autorizzazioni:

  • Per creare le VM:
    • 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 una VM: compute.instances.update sulla VM

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

Attiva la PMU nelle VM

Per attivare la PMU in una o più VM C4A o C4, utilizza uno dei seguenti metodi:

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

Attiva la PMU in una VM esistente

Prima di attivare la PMU in una VM esistente, assicurati che la VM utilizzi un tipo di macchina e una piattaforma CPU supportati seguendo questi passaggi:

  1. Per verificare il tipo di macchina e la piattaforma CPU della VM, visualizza i dettagli della VM.

  2. Se devi modificare il tipo di macchina della VM, segui questi passaggi:

    1. Per verificare che una piattaforma CPU supportata sia disponibile nella zona in cui si trova la VM, consulta Regioni e zone disponibili.

    2. Cambia il tipo di macchina come segue:

      • Per attivare il tipo di PMU Avanzata, devi specificare un tipo di macchina C4 con 96 o 192 vCPU.

      • In caso contrario, per attivare il tipo di PMU Architettura o Standard, specifica qualsiasi tipo di macchina C4A o C4.

Non è necessario arrestare la VM per attivare la PMU. Tuttavia, per applicare la modifica, devi riavviare la VM come descritto in questa sezione.

Per attivare la PMU in una VM esistente, seleziona una delle seguenti opzioni:

gcloud

  1. Crea un file YAML vuoto.

  2. Per esportare le proprietà di una VM nel file YAML appena creato, utilizza il comando gcloud compute instances export:

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

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM.

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

    • ZONE: la zona in cui si trova la VM.

  3. Nel file di configurazione YAML, 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 la VM 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 VM_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM.

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

    • ZONE: la zona in cui si trova la VM.

REST

  1. Crea un file JSON vuoto.

  2. Per visualizzare le proprietà di una VM esistente, invia una richiesta GET al metodo instances.get:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui si trova la VM.

    • ZONE: la zona in cui si trova la VM.

    • VM_NAME: il nome di una VM esistente.

  3. Nel file JSON vuoto che hai creato nei passaggi precedenti, procedi in questo modo:

    1. Inserisci le proprietà della VM dall'output della richiesta GET.

    2. 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 la VM e riavviarla, invia una richiesta PUT al metodo instances.update. Nella richiesta, segui questi passaggi:

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

    • Per il corpo della richiesta, utilizza le proprietà della VM nel file JSON che hai creato e aggiornato nei passaggi precedenti.

    La richiesta è simile alla seguente:

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

Per saperne di più sull'aggiornamento delle proprietà di una VM, consulta Aggiorna le proprietà delle istanze.

Attiva la PMU durante la creazione di una VM

Puoi creare una VM 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 una VM con PMU attivata, seleziona una delle seguenti opzioni:

gcloud

Per creare una VM con PMU attivata, utilizza il comando gcloud compute instances create con il flag --performance-monitoring-unit:

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

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.

  • MACHINE_TYPE: un tipo di macchina C4A o C4. Se vuoi attivare il tipo di PMU Avanzata, devi specificare un tipo di macchina C4 con 96 o 192 vCPU. In caso contrario, la creazione della VM non andrà a buon fine.

  • PMU_TYPE: il tipo di PMU da attivare nella VM. 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 la VM.

REST

Per creare una VM 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": "VM_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 la VM.

  • ZONE: la zona in cui creare la VM.

  • VM_NAME: il nome della VM.

  • MACHINE_TYPE: un tipo di macchina C4A o C4. Se vuoi attivare il tipo di PMU Avanzata, devi specificare un tipo di macchina C4 con 96 o 192 vCPU. In caso contrario, la creazione della VM non andrà a buon fine.

  • 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 nella VM. 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 una VM, consulta Crea e avvia un'istanza Compute Engine.

Attiva la PMU durante la creazione di VM in blocco

Puoi creare in blocco VM con PMU attivata solo nelle zone che contengono una piattaforma CPU supportata. Per un elenco delle CPU disponibili per zona, consulta Regioni e zone disponibili.

Per creare in blocco VM con PMU attivata, seleziona una delle seguenti opzioni:

gcloud

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

Ad esempio, per creare in blocco VM 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 VM da creare.

  • MACHINE_TYPE: un tipo di macchina C4A o C4. Se vuoi attivare il tipo di PMU Avanzata, devi specificare un tipo di macchina C4 con 96 o 192 vCPU. In caso contrario, la creazione della VM non andrà a buon fine.

  • NAME_PATTERN: il pattern del nome delle VM. Per sostituire una sequenza di numeri nel nome di una VM, utilizza una sequenza di caratteri hash (#). Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi che iniziano con vm-1, vm-2 e via di seguito fino al numero di VM specificato da COUNT.

  • PMU_TYPE: il tipo di PMU da attivare nelle VM. 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 le VM in blocco.

REST

Per creare in blocco VM 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 VM 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 VM in blocco.

  • ZONE: la zona in cui creare le VM in blocco.

  • COUNT: il numero di VM da creare.

  • NAME_PATTERN: il pattern del nome delle VM. Per sostituire una sequenza di numeri nel nome di una VM, utilizza una sequenza di caratteri hash (#). Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi che iniziano con vm-1, vm-2 e via di seguito fino al numero di VM specificato da COUNT.

  • MACHINE_TYPE: un tipo di macchina C4A o C4. Se vuoi attivare il tipo di PMU Avanzata, devi specificare un tipo di macchina C4 con 96 o 192 vCPU. In caso contrario, la creazione della VM non andrà a buon fine.

  • 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 VM. 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 VM 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 con PMU attivata, 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 template di istanza con PMU attivata, puoi utilizzarlo per eseguire questi passaggi:

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

gcloud

Per creare un template di istanza con PMU attivata, utilizza il comando gcloud compute instance-templates create con il flag --performance-monitoring-unit. Per creare un template di istanza regionale, devi includere anche il flag --instance-template-region.

Ad esempio, per creare un template di istanza a livello di regione con la funzionalità PMU attivata, esegui questo comando:

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: un tipo di macchina C4A o C4. Se vuoi attivare il tipo di PMU Avanzata, devi specificare un tipo di macchina C4 con 96 o 192 vCPU. In caso contrario, la creazione della VM non andrà a buon fine.

  • 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 con PMU attivata, 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 con PMU attivata, invia 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: un tipo di macchina C4A o C4. Se vuoi attivare il tipo di PMU Avanzata, devi specificare un tipo di macchina C4 con 96 o 192 vCPU. In caso contrario, la creazione della VM non andrà a buon fine.

  • 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