Gestisci la PMU nelle VM


Questo documento spiega come modificare il tipo di unità di monitoraggio delle prestazioni (PMU) attivata in un'istanza di macchina virtuale (VM) o come disattivarla. Per scoprire di più sulla PMU, consulta la panoramica della PMU.

Dopo aver attivato la PMU in una VM ed eseguito il software di monitoraggio delle prestazioni sulla VM, puoi:

  • Modifica il tipo di PMU abilitato nella VM. Questa modifica è utile quando vuoi monitorare diversi tipi di eventi CPU di basso livello.

  • Disattiva la PMU nella VM. Questa azione è utile quando non hai più bisogno di accedere ai contatori delle prestazioni nella PMU.

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 modificare il tipo di PMU abilitato in una VM o disabilitarlo, 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 modificare il tipo di PMU abilitato in una VM o disattivarlo. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per modificare il tipo di PMU abilitato in una VM o disabilitarlo, sono necessarie le seguenti autorizzazioni:

  • Per aggiornare una VM: compute.instances.update sulla VM

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

Modificare il tipo di PMU in una VM

Prima di modificare il tipo di PMU abilitato in una VM C4A o C4 esistente, visualizza i dettagli della VM utilizzando Google Cloud CLI o l'API REST. Nell'output del comando o della richiesta API, verifica quanto segue:

  1. Per verificare il tipo di PMU abilitato nella VM, controlla il valore del campo performanceMonitoringUnit. Se il campo non è presente, l'unità di misura è disattivata.

  2. Se vuoi abilitare il tipo PMU avanzato, assicurati che la VM utilizzi un tipo di macchina C4 con 96 o 192 vCPU controllando il valore del campo machineType. In caso contrario, modifica il tipo di macchina della VM.

Non devi arrestare la VM per modificare il tipo di PMU abilitato. Tuttavia, per rendere effettiva la modifica, devi riavviare la VM come descritto in questa sezione.

Per modificare il tipo di PMU abilitato 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, individua il campo performanceMonitoringUnit e modifica il relativo valore per specificare un tipo di PMU diverso:

    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. Individua il campo performanceMonitoringUnit e modifica il valore per specificare un tipo di PMU diverso:

      "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à della VM.

Disattiva la PMU in una VM

Non devi arrestare la VM per disattivare la PMU. Tuttavia, per rendere effettiva la modifica, devi riavviare la VM come descritto in questa sezione.

Per disattivare 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, individua il campo performanceMonitoringUnit e imposta il relativo valore su NONE:

    advancedMachineFeatures:
      performanceMonitoringUnit: NONE
    
  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. Individua il campo performanceMonitoringUnit e modifica il valore in NONE:

      "advancedMachineFeatures": {
        "performanceMonitoringUnit": "NONE"
      }
      
  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": "NONE"
      },
      ...
    }
    

Per ulteriori informazioni sull'aggiornamento delle proprietà di una VM, consulta Aggiorna le proprietà della VM.

Passaggi successivi