Gestisci la PMU nelle istanze di Compute Engine

Dopo aver attivato la PMU in un'istanza di computing ed eseguito il software di monitoraggio delle prestazioni sull'istanza di computing, puoi:

  • Modifica il tipo di PMU attivata nell'istanza di computing. Questa modifica è utile quando vuoi monitorare diversi tipi di eventi della CPU a basso livello.

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

Questo documento spiega come modificare il tipo o disattivare l'unità di monitoraggio delle prestazioni (PMU) attivata in un'istanza Compute Engine. Per saperne di più sulla PMU, 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:

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

    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.

    2. Set a default region and zone.

    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. 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.

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

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per cambiare il tipo o disattivare la PMU attivata in un'istanza di computing, 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 modificare il tipo o disattivare la PMU attivata in un'istanza di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per modificare il tipo o disattivare la PMU attivata in un'istanza di computing sono necessarie le seguenti autorizzazioni:

  • 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.

Modifica il tipo di PMU in un'istanza di computing

Prima di modificare il tipo di PMU per un'istanza A4X, C4A, C4 o M4 esistente, visualizza i dettagli dell'istanza di calcolo utilizzando Google Cloud CLI o l'API REST. Nell'output del comando o della richiesta API, verifica quanto segue:

  1. Per verificare che il tipo di PMU sia attivato nell'istanza di calcolo, controlla il valore del campo performanceMonitoringUnit. Se il campo non è presente, la PMU è disattivata.

  2. Se vuoi attivare il tipo di PMU avanzata, devi verificare che l'istanza di computing utilizzi uno dei seguenti tipi di macchina controllando il valore del campo machineType:

    • Un 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

    Se la tua istanza di calcolo utilizza un tipo di macchina diverso, devi modificare il tipo di macchina utilizzato dall'istanza di calcolo prima di poter monitorare i tipi di PMU avanzati.

Non è necessario arrestare l'istanza di calcolo per modificare il tipo di PMU. Tuttavia, per applicare la modifica, devi riavviare l'istanza di calcolo come descritto in questa sezione.

Per modificare il tipo di PMU attivata 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, 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 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 quanto segue:

    • INSTANCE_NAME: il nome dell'istanza di computing.

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

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

REST

  1. Per visualizzare le proprietà di un'istanza di calcolo 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 si trova l'istanza di computing.

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

    • INSTANCE_NAME: il nome di un'istanza di computing esistente.

  2. Per aggiornare l'istanza di Compute 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 modificare il valore del campo performanceMonitoringUnit con il tipo di PMU che hai scelto.

    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 calcolo, consulta Aggiorna le proprietà delle istanze.

Disattiva la PMU in un'istanza di calcolo

Puoi disattivare la PMU in un'istanza di computing senza arrestarla. Tuttavia, per applicare la modifica, devi riavviare l'istanza di calcolo come descritto in questa sezione.

Per disattivare 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, rimuovi il campo performanceMonitoringUnit. Se il campo advancedMachineFeatures è vuoto, rimuovilo.

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    
  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 quanto segue:

    • INSTANCE_NAME: il nome dell'istanza di computing.

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

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

REST

  1. Per visualizzare le proprietà di un'istanza di calcolo 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 esiste l'istanza di computing.

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

    • INSTANCE_NAME: il nome di un'istanza di computing esistente.

  2. Per aggiornare l'istanza di calcolo 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 l'output della richiesta GET del passaggio precedente. Tuttavia, devi rimuovere il campo performanceMonitoringUnit e, se non ci sono altri campi nel campo advancedMachineFeatures, anche il campo advancedMachineFeatures.

    La richiesta PUT è simile alla seguente:

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

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

Passaggi successivi