Gestire la PMU nelle VM


Questo documento descrive come modificare il tipo di unità di monitoraggio delle prestazioni (PMU) attivata in un'istanza di una macchina virtuale (VM) o disattivare la PMU in una VM.

Dopo aver abilitato la PMU in una VM ed eseguito il software di monitoraggio delle prestazioni sulla VM, puoi procedere nel seguente modo:

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

  • Disattiva la PMU nella VM. La disattivazione della PMU in una VM è utile quando non hai più bisogno di accedere ai contatori delle prestazioni della PMU.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi 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, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per saperne di più, consulta Eseguire l'autenticazione 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 disattivarlo, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire 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 visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per modificare o disattivare il tipo di PMU abilitato in una VM 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 esistente, visualizza i dettagli della VM utilizzando Google Cloud CLI o 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 performanceMonitoringUnit campo.

  2. Se vuoi attivare 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, cambia il tipo di macchina della VM.

Non è necessario arrestare la VM per modificare il tipo di PMU abilitato al suo interno. Tuttavia, per applicare 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 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, 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 architettonica: 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 creato nei passaggi precedenti, procedi nel seguente modo:

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

    2. Individua il campo performanceMonitoringUnit, quindi modifica il suo valore per specificare un tipo di PMU diverso.

      "advancedMachineFeatures": {
        "performanceMonitoringUnit": "PMU_TYPE"
      }
      

      Sostituisci PMU_TYPE con uno dei seguenti valori:

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

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

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

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

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

Disattivare la PMU in una VM

Non è necessario arrestare la VM per disattivare la PMU. Tuttavia, per applicare 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 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, individua il campo performanceMonitoringUnit e impostane il 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 creato nei passaggi precedenti, procedi nel seguente modo:

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

    2. Individua il campo performanceMonitoringUnit, quindi 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:

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

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

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

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

Passaggi successivi