PMU in VMs verwalten


In diesem Dokument wird beschrieben, wie Sie den in einer VM-Instanz (virtuelle Maschine) aktivierten PMU-Typ (Performance Monitoring Unit) ändern oder die PMU in einer VM deaktivieren.

Nachdem Sie die PMU in einer VM aktiviert und die Leistungsüberwachungssoftware auf der VM ausgeführt haben, haben Sie folgende Möglichkeiten:

  • Ändern Sie den in der VM aktivierten PMU-Typ. Das ist nützlich, wenn Sie verschiedene Arten von Low-Level-CPU-Ereignissen erfassen möchten.

  • Deaktivieren Sie die PMU in der VM. Das Deaktivieren der PMU in einer VM ist nützlich, wenn Sie nicht mehr auf die Leistungszähler 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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    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

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

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

        gcloud init

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

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie zum Ändern des in einer VM aktivierten PMU-Typs benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zu gewähren. 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 oder Deaktivieren des in einer VM aktivierten 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 VM aktivierten PMU-Typ ändern, rufen Sie die Details der VM mit der Google Cloud CLI oder REST auf. Prüfen Sie in der Ausgabe des Befehls oder der API-Anfrage Folgendes:

  1. Um den in der VM aktivierten PMU-Typ zu überprüfen, sehen Sie sich den Wert des Felds performanceMonitoringUnit an.

  2. Wenn Sie den erweiterten PMU-Typ aktivieren möchten, prüfen Sie anhand des Werts des Felds machineType, ob für die VM ein C4-Maschinentyp mit 96 oder 192 vCPUs verwendet wird. Andernfalls ä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 wie in diesem Abschnitt beschrieben neu starten.

Wenn Sie den in einer vorhandenen VM aktivierten PMU-Typ ändern möchten, wählen Sie eine der folgenden Optionen aus:

gcloud

  1. Erstellen Sie eine leere YAML-Datei.

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

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

    Ersetzen Sie dabei 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 den Wert, um einen anderen PMU-Typ anzugeben.

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    

    Ersetzen Sie PMU_TYPE durch einen der folgenden Werte:

    • Typ der architektonischen PMU: 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 = RESTART, 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 dabei Folgendes:

    • VM_NAME: der Name der VM.

    • YAML_FILE: 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 dabei 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-Eigenschaften aus der GET-Anfrageausgabe ein.

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

      • Typ der architektonischen PMU: 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 most_disruptive_allowed_action ein, wobei dieser auf RESTART gesetzt ist.

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

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

Weitere Informationen zum Aktualisieren der Eigenschaften einer VM finden Sie unter VM-Eigenschaften 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 wie in diesem Abschnitt beschrieben neu starten.

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

gcloud

  1. Erstellen Sie eine leere YAML-Datei.

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

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

    Ersetzen Sie dabei 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 den 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 = RESTART, 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 dabei Folgendes:

    • VM_NAME: der Name der VM.

    • YAML_FILE: 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 dabei 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-Eigenschaften aus der GET-Anfrageausgabe ein.

    2. Suchen Sie das Feld performanceMonitoringUnit und ändern Sie den 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 most_disruptive_allowed_action ein, wobei dieser auf RESTART gesetzt ist.

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

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

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

Nächste Schritte