Attiva la PMU nelle VM


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

Dopo aver attivato la PMU in una VM C4A o C4 e averla connessa, puoi eseguire e installare un software di monitoraggio delle prestazioni sulla VM per analizzare e ottimizzare le prestazioni del software in esecuzione sulla VM. Questo approccio è utile quando vengono eseguiti carichi di lavoro sensibili alle prestazioni, come carichi di lavoro 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 ai Google Cloud servizi e alle API. 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. After installing the Google Cloud CLI, initialize it 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.
      3. 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.

          After installing the Google Cloud CLI, initialize it 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 la sezione 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) nel 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 abilitare la PMU in una VM nuova o esistente. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per abilitare 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 che la VM possa utilizzare: 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 nel seguente modo:

  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, procedi nel seguente modo:

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

    2. Modifica il tipo di macchina nel seguente modo:

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

      • Altrimenti, per attivare il tipo di PMU standard o architetturale, specifica un tipo di macchina C4A o C4.

Non devi arrestare la VM per attivare la PMU. Tuttavia, per rendere effettiva 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 che hai 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 che hai 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, aggiungilo anche:

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    

    Sostituisci PMU_TYPE con uno dei seguenti valori:

    • Tipo di PMU architetturale: 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, aggiungilo:

      {
        "advancedMachineFeatures": {
          "performanceMonitoringUnit": "PMU_TYPE"
        },
        ...
      }
      

      Sostituisci PMU_TYPE con uno dei seguenti valori:

      • Tipo di PMU architetturale: ARCHITECTURAL

      • Tipo di PMU standard: STANDARD

      • Tipo di PMU avanzata: ENHANCED

  4. Per aggiornare la VM e riavviarla, effettua 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 dal 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 ulteriori informazioni sull'aggiornamento delle proprietà di una VM, consulta Aggiorna le proprietà delle istanze.

Attivare la PMU durante la creazione di una VM

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

gcloud

Per creare una VM con la PMU abilitata, 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 PMU avanzato, 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 abilitare nella VM. Specifica uno dei seguenti valori:

    • Tipo di PMU architetturale: 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 la PMU abilitata, 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 PMU avanzato, 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, vedi 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. Specifica 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 abilitare nella VM. Specifica uno dei seguenti valori:

    • Tipo di PMU architetturale: 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.

Attivare la PMU durante la creazione collettiva delle VM

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

gcloud

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

Ad esempio, per creare VM collettivamente in una singola zona e specificare un pattern di nomi, esegui il seguente 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 PMU avanzato, 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 in un nome VM, utilizza una sequenza di caratteri cancelletto (#). Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi che iniziano con vm-1, vm-2 e continuano fino al numero di VM specificato da COUNT.

  • PMU_TYPE: il tipo di PMU da abilitare nelle VM. Specifica uno dei seguenti valori:

    • Tipo di PMU architetturale: architectural

    • Tipo di PMU standard: standard

    • Tipo di PMU avanzata: enhanced

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

REST

Per creare VM collettivamente con la PMU abilitata, invia una richiesta POST al metodo instances.bulkInsert. Nel corpo della richiesta, includi il campo performanceMonitoringUnit.

Ad esempio, per creare VM collettivamente in una singola zona e specificare un pattern di nomi, invia una richiesta POST come segue:

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 in un nome VM, utilizza una sequenza di caratteri cancelletto (#). Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi che iniziano con vm-1, vm-2 e continuano fino al numero di VM specificato da COUNT.

  • MACHINE_TYPE: un tipo di macchina C4A o C4. Se vuoi attivare il tipo PMU avanzato, 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, vedi 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. Specifica 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 abilitare nelle VM. Specifica uno dei seguenti valori:

    • Tipo di PMU architetturale: ARCHITECTURAL

    • Tipo di PMU standard: STANDARD

    • Tipo di PMU avanzata: ENHANCED

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

Attiva la PMU durante la creazione di un modello di istanza

Se vuoi creare un modello di istanza regionale con la PMU abilitata, 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 con la PMU abilitata, puoi utilizzarlo per:

Per creare un modello di istanza in cui è attivata la PMU, seleziona una delle seguenti opzioni:

gcloud

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

Ad esempio, per creare un modello di istanza regionale con la 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 PMU avanzato, 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 modello di istanza. Specifica uno dei seguenti valori:

    • Tipo di PMU architetturale: architectural

    • Tipo di PMU standard: standard

    • Tipo di PMU avanzata: enhanced

REST

Per creare un modello di istanza con la PMU abilitata, effettua una richiesta POST con uno dei seguenti metodi:

Nel corpo della richiesta, includi il campo performanceMonitoringUnit.

Ad esempio, per creare un modello di istanza regionale con la 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 modello di istanza.

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

  • INSTANCE_TEMPLATE_NAME: il nome del modello 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, vedi 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. Specifica 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 PMU avanzato, 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 modello di istanza. Specifica uno dei seguenti valori:

    • Tipo di PMU architetturale: ARCHITECTURAL

    • Tipo di PMU standard: STANDARD

    • Tipo di PMU avanzata: ENHANCED

Per ulteriori informazioni sulla creazione di un modello di istanza, vedi Creare modelli di istanza.

Passaggi successivi