PMU in VMs verwalten


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

Nachdem Sie das PMU in einer VM aktiviert und eine Software zur Leistungsüberwachung auf der VM ausgeführt haben, haben Sie folgende Möglichkeiten:

  • PMU-Typ ändern, der in der VM aktiviert ist Diese Änderung ist nützlich, wenn Sie verschiedene Arten von CPU-Ereignissen auf niedriger Ebene erfassen möchten.

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

Hinweise

  • 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. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
    <x0A>

    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

        Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

          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.

        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 zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Ändern des in einer VM aktivierten PMU-Typs oder zum Deaktivieren des PMU-Typs 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 VM aktivierten PMU-Typs oder zum Deaktivieren des PMU-Typs erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

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

  • So aktualisieren Sie eine VM: compute.instances.update auf der VM

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

PMU-Typ in einer VM ändern

Bevor Sie den in einer vorhandenen C4A- oder C4-VM aktivierten PMU-Typ ändern, rufen Sie die Details der VM mit der Google Cloud CLI oder der REST API auf. Prüfen Sie in der Ausgabe des Befehls oder API-Aufrufs Folgendes:

  1. Prüfen Sie den Wert des Felds performanceMonitoringUnit, um den in der VM aktivierten PMU-Typ zu ermitteln. Wenn das Feld fehlt, ist die PMU deaktiviert.

  2. Wenn Sie den erweiterten PMU-Typ aktivieren möchten, muss die VM einen C4-Maschinentyp mit 96 oder 192 vCPUs verwenden. Prüfen Sie dazu den Wert des Felds machineType. Wenn nicht, ändern Sie den Maschinentyp der VM.

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

Wählen Sie eine der folgenden Optionen aus, um den in einer vorhandenen VM 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 VM in die gerade erstellte YAML-Datei zu exportieren:

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

    Ersetzen Sie Folgendes:

    • VM_NAME: der Name der VM.

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

    • ZONE ist die Zone, in der sich die VM 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:

    • Architektonischer PMU-Typ: ARCHITECTURAL

    • Standard-PMU-Typ: STANDARD

    • Erweiterter PMU-Typ: 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 VM zu aktualisieren und neu zu starten:

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

    Ersetzen Sie Folgendes:

    • VM_NAME: der Name der VM.

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

    • ZONE ist die Zone, in der sich die VM befindet.

REST

  1. Erstellen Sie eine leere JSON-Datei.

  2. Wenn Sie die Eigenschaften einer vorhandenen VM 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/VM_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem sich die VM befindet.

    • ZONE ist die Zone, in der sich die VM befindet.

    • VM_NAME: Der Name einer vorhandenen VM.

  3. Gehen Sie in der leeren JSON-Datei, die Sie in den vorherigen Schritten erstellt haben, so vor:

    1. Geben Sie die VM-Attribute aus der GET-Anfrageausgabe ein.

    2. Suchen Sie 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:

      • Architektonischer PMU-Typ: ARCHITECTURAL

      • Standard-PMU-Typ: STANDARD

      • Erweiterter PMU-Typ: ENHANCED

  4. Wenn Sie die VM 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, wobei dieser auf RESTART gesetzt ist.

    • Verwenden Sie für den Anfragetext die VM-Attribute aus der JSON-Datei, die Sie in den vorherigen Schritten erstellt und aktualisiert haben.

    Die Anfrage sieht etwa so aus:

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

Weitere Informationen zum Aktualisieren der Attribute einer VM finden Sie unter VM-Attribute aktualisieren.

PMU in einer VM deaktivieren

Sie müssen die VM nicht beenden, um die PMU zu deaktivieren. Damit die Änderung wirksam wird, müssen Sie die VM jedoch neu starten, wie in diesem Abschnitt beschrieben.

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

gcloud

  1. Erstellen Sie eine leere YAML-Datei.

  2. Verwenden Sie den gcloud compute instances export-Befehl, um die Attribute einer VM in die gerade erstellte YAML-Datei zu exportieren:

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

    Ersetzen Sie Folgendes:

    • VM_NAME: der Name der VM.

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

    • ZONE ist die Zone, in der sich die VM befindet.

  3. Suchen Sie in der YAML-Konfigurationsdatei das Feld performanceMonitoringUnit und legen Sie seinen Wert auf NONE fest:

    advancedMachineFeatures:
      performanceMonitoringUnit: NONE
    
  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 VM zu aktualisieren und neu zu starten:

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

    Ersetzen Sie Folgendes:

    • VM_NAME: der Name der VM.

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

    • ZONE ist die Zone, in der sich die VM befindet.

REST

  1. Erstellen Sie eine leere JSON-Datei.

  2. Wenn Sie die Eigenschaften einer vorhandenen VM 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/VM_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID des Projekts, in dem sich die VM befindet.

    • ZONE ist die Zone, in der sich die VM befindet.

    • VM_NAME: Der Name einer vorhandenen VM.

  3. Gehen Sie in der leeren JSON-Datei, die Sie in den vorherigen Schritten erstellt haben, so vor:

    1. Geben Sie die VM-Attribute aus der GET-Anfrageausgabe ein.

    2. Suchen Sie das Feld performanceMonitoringUnit und ändern Sie seinen Wert in NONE:

      "advancedMachineFeatures": {
        "performanceMonitoringUnit": "NONE"
      }
      
  4. Wenn Sie die VM 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, wobei dieser auf RESTART gesetzt ist.

    • Verwenden Sie für den Anfragetext die VM-Attribute aus der JSON-Datei, die Sie in den vorherigen Schritten erstellt und aktualisiert haben.

    Die Anfrage sieht etwa so aus:

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

Weitere Informationen zum Aktualisieren der Attribute einer VM finden Sie unter VM-Attribute aktualisieren.

Nächste Schritte