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 erfassen möchten.

  • 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 Typ der Performance Monitoring Unit (PMU) ändern, die in einer Compute Engine-Instanz aktiviert ist, oder die PMU deaktivieren. Weitere Informationen zur PMU finden Sie unter PMU-Übersicht.

Hinweis

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:

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

    gcloud

    1. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    2. Set a default region and zone.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) 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 des 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:

Erforderliche Berechtigungen

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

  • So aktualisieren Sie eine 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 mit der Google Cloud CLI oder der REST API auf. Prüfen Sie in der Ausgabe des Befehls oder der API-Anfrage Folgendes:

  1. Wenn Sie prüfen möchten, ob der PMU-Typ in der Compute-Instanz aktiviert ist, sehen Sie sich den Wert des Felds performanceMonitoringUnit an. 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. Sehen Sie dazu den Wert des Felds machineType an:

    • 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 von der Compute-Instanz verwendeten Maschinentyp ändern, 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 Befehl gcloud compute instances export, um die Attribute einer Compute-Instanz in die gerade erstellte YAML-Datei zu exportieren:

    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 seinen 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 Befehl gcloud compute instances update-from-file mit dem Flag --most-disruptive-allowed-action, 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. Wenn Sie die Eigenschaften einer vorhandenen Compute-Instanz aufrufen möchten, senden Sie eine GET-Anfrage an die Methode instances.get:

    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. Wenn Sie die Compute-Instanz aktualisieren und neu starten möchten, senden Sie eine PUT-Anfrage an die Methode instances.update:

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

    • Verwenden Sie für den Anfragetext die GET-Anfrageausgabe 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 sieht etwa so aus:

    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 stoppen. 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 Befehl gcloud compute instances export, um die Attribute einer Compute-Instanz in die gerade erstellte YAML-Datei zu exportieren:

    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 Befehl gcloud compute instances update-from-file mit dem Flag --most-disruptive-allowed-action, 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. Wenn Sie die Eigenschaften einer vorhandenen Compute-Instanz aufrufen möchten, senden Sie eine GET-Anfrage an die Methode instances.get:

    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 die Compute-Instanz vorhanden ist.

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

    • INSTANCE_NAME: der Name einer vorhandenen Compute-Instanz.

  2. Wenn Sie die Compute-Instanz aktualisieren und neu starten möchten, senden Sie eine PUT-Anfrage an die Methode instances.update. 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 GET-Anfrageausgabe aus dem vorherigen Schritt. Sie müssen jedoch das Feld performanceMonitoringUnit entfernen und, falls keine anderen Felder im Feld advancedMachineFeatures vorhanden sind, auch das Feld advancedMachineFeatures.

    Die PUT-Anfrage sieht etwa so aus:

    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