PMU in Compute Engine-Instanzen verwalten

Nachdem Sie die PMU in einer Compute-Instanz aktiviert und Software zur Leistungsüberwachung auf der Compute-Instanz ausgeführt haben, können Sie Folgendes tun:

  • Den in der Compute-Instanz aktivierten PMU-Typ ändern. Diese Änderung ist nützlich, wenn Sie verschiedene Arten von CPU-Ereignissen auf niedriger Ebene verfolgen möchten.

  • Die PMU in der Compute-Instanz deaktivieren. Diese Aktion ist nützlich, wenn Sie nicht mehr auf die Leistungszähler in der PMU zugreifen müssen.

In diesem Dokument wird beschrieben, wie Sie den in einer Compute Engine-Instanz aktivierten PMU-Typ (Performance Monitoring Unit) ändern oder die PMU deaktivieren. Weitere Informationen zur PMU finden Sie unter PMU-Übersicht.

Hinweis

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) IAM-Rolle für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ändern des in einer Compute-Instanz aktivierten PMU-Typs oder zum Deaktivieren der PMU benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Ändern des in einer Compute-Instanz aktivierten PMU-Typs oder zum Deaktivieren der PMU erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um den in einer Compute-Instanz aktivierten PMU-Typ zu ändern oder die PMU zu deaktivieren:

  • Zum Aktualisieren einer Compute-Instanz: compute.instances.update für die Compute-Instanz

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

PMU-Typ in einer Compute-Instanz ändern

Bevor Sie den PMU-Typ für eine vorhandene A4X-, C4A-, C4- oder M4-Instanz ändern, rufen Sie die Details der Compute-Instanz auf mit der Google Cloud CLI oder der REST API. Prüfen Sie in der Ausgabe des Befehls oder der API-Anfrage Folgendes:

  1. Prüfen Sie den Wert des Felds performanceMonitoringUnit, um zu bestätigen, dass der PMU-Typ in der Compute-Instanz aktiviert ist. Wenn das Feld fehlt, ist die PMU deaktiviert.

  2. Wenn Sie den erweiterten PMU-Typ aktivieren möchten, müssen Sie prüfen, ob die Compute-Instanz einen der folgenden Maschinentypen verwendet. Prüfen Sie dazu den Wert des Felds machineType:

    • Ein C4-Maschinentyp mit 144 oder 288 vCPUs

    • Einer der folgenden M4-Maschinentypen:

      • m4-megamem-112

      • m4-megamem-224

      • m4-ultramem-56

      • m4-ultramem-112

      • m4-ultramem-224

    Wenn Ihre Compute-Instanz einen anderen Maschinentyp verwendet, müssen Sie den Maschinentyp ändern, der von der Compute-Instanz verwendet wird, bevor Sie erweiterte PMU-Typen überwachen können.

Sie müssen die Compute-Instanz nicht beenden, um den PMU-Typ zu ändern. Damit die Änderung wirksam wird, müssen Sie die Compute-Instanz jedoch neu starten, wie in diesem Abschnitt beschrieben.

Wählen Sie eine der folgenden Optionen aus, um den in einer vorhandenen Compute-Instanz aktivierten PMU-Typ zu ändern:

gcloud

  1. Erstellen Sie eine leere YAML-Datei.

  2. Verwenden Sie den gcloud compute instances export Befehl, um die Attribute einer Compute-Instanz in die YAML-Datei zu exportieren, die Sie gerade erstellt haben:

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

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: Der Name der Compute-Instanz.

    • YAML_FILE: Der Pfad zur YAML-Datei, die Sie im vorherigen Schritt erstellt haben.

    • ZONE: Die Zone, in der sich die Compute-Instanz befindet.

  3. Suchen Sie in der YAML-Konfigurationsdatei das Feld performanceMonitoringUnit und ändern Sie den Wert, um einen anderen PMU-Typ anzugeben:

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    

    Ersetzen Sie PMU_TYPE durch einen der folgenden Werte:

    • PMU-Typ Architektur: ARCHITECTURAL

    • PMU-Typ Standard: STANDARD

    • PMU-Typ Erweitert: ENHANCED

  4. Verwenden Sie den gcloud compute instances update-from-file Befehl mit dem --most-disruptive-allowed-action Flag, das auf RESTART gesetzt ist, um die Compute-Instanz zu aktualisieren und neu zu starten:

    gcloud compute instances update-from-file INSTANCE_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: Der Name der Compute-Instanz.

    • YAML_FILE: Der Pfad zur YAML-Datei mit den Konfigurationsdaten, die Sie im vorherigen Schritt geändert haben.

    • ZONE: Die Zone, in der sich die Compute-Instanz befindet.

REST

  1. Senden Sie eine GET Anfrage an die instances.get Methode, um die Attribute einer vorhandenen Compute-Instanz aufzurufen:

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID des Projekts, in dem sich die Compute-Instanz befindet.

    • ZONE: Die Zone, in der sich die Compute-Instanz befindet.

    • INSTANCE_NAME: Der Name einer vorhandenen Compute-Instanz.

  2. Senden Sie eine PUT Anfrage an die instances.update Methode, um die Compute-Instanz zu aktualisieren und neu zu starten:

    • Fügen Sie in der Anfrage-URL den Abfrageparameter mostDisruptiveAllowedAction ein, der auf RESTART gesetzt ist.

    • Verwenden Sie für den Anfragetext die Ausgabe der GET-Anfrage aus dem vorherigen Schritt. Im Feld advancedMachineFeatures müssen Sie jedoch den Wert des Felds performanceMonitoringUnit in den von Ihnen ausgewählten PMU-Typ ändern.

    Die PUT-Anfrage ähnelt der folgenden:

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

    Ersetzen Sie PMU_TYPE durch einen der folgenden Werte:

    • PMU-Typ Architektur: ARCHITECTURAL

    • PMU-Typ Standard: STANDARD

    • PMU-Typ Erweitert: ENHANCED

Weitere Informationen zum Aktualisieren der Attribute einer Compute-Instanz finden Sie unter Instanzattribute aktualisieren.

PMU in einer Compute-Instanz deaktivieren

Sie können die PMU in einer Compute-Instanz deaktivieren, ohne die Compute-Instanz zu beenden. Damit die Änderung wirksam wird, müssen Sie die Compute-Instanz jedoch neu starten, wie in diesem Abschnitt beschrieben.

Wählen Sie eine der folgenden Optionen aus, um die PMU in einer vorhandenen Compute-Instanz zu deaktivieren:

gcloud

  1. Erstellen Sie eine leere YAML-Datei.

  2. Verwenden Sie den gcloud compute instances export Befehl, um die Attribute einer Compute-Instanz in die YAML-Datei zu exportieren, die Sie gerade erstellt haben:

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

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: Der Name der Compute-Instanz.

    • YAML_FILE: Der Pfad zur YAML-Datei, die Sie im vorherigen Schritt erstellt haben.

    • ZONE: Die Zone, in der sich die Compute-Instanz befindet.

  3. Entfernen Sie in der YAML-Konfigurationsdatei das Feld performanceMonitoringUnit. Wenn das Feld advancedMachineFeatures leer ist, entfernen Sie es ebenfalls.

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    
  4. Verwenden Sie den gcloud compute instances update-from-file Befehl mit dem --most-disruptive-allowed-action Flag, das auf RESTART gesetzt ist, um die Compute-Instanz zu aktualisieren und neu zu starten:

    gcloud compute instances update-from-file INSTANCE_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: Der Name der Compute-Instanz.

    • YAML_FILE: Der Pfad zur YAML-Datei mit den Konfigurationsdaten, die Sie im vorherigen Schritt geändert haben.

    • ZONE: Die Zone, in der sich die Compute-Instanz befindet.

REST

  1. Senden Sie eine GET Anfrage an die instances.get Methode, um die Attribute einer vorhandenen Compute-Instanz aufzurufen:

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID des Projekts, in dem sich die Compute-Instanz befindet.

    • ZONE: Die Zone, in der sich die Compute-Instanz befindet.

    • INSTANCE_NAME: Der Name einer vorhandenen Compute-Instanz.

  2. Senden Sie eine PUT-Anfrage an die instances.update Methode, um die Compute-Instanz zu aktualisieren und neu zu starten. Gehen Sie in der Anfrage so vor:

    • Fügen Sie in der Anfrage-URL den Abfrageparameter mostDisruptiveAllowedAction ein, der auf RESTART gesetzt ist.

    • Verwenden Sie für den Anfragetext die Ausgabe der GET-Anfrage aus dem vorherigen Schritt. Sie müssen jedoch das Feld performanceMonitoringUnit und, wenn keine anderen Felder im Feld advancedMachineFeatures vorhanden sind, auch das Feld advancedMachineFeatures entfernen.

    Die PUT-Anfrage ähnelt der folgenden:

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

Weitere Informationen zum Aktualisieren der Attribute einer Compute-Instanz finden Sie unter Instanzattribute aktualisieren.

Nächste Schritte