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
-
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. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich so bei
Compute Engine authentifizieren:
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
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.
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 Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
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.updatefü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:
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.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-112m4-megamem-224m4-ultramem-56m4-ultramem-112m4-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
Erstellen Sie eine leere YAML-Datei.
Verwenden Sie den
gcloud compute instances exportBefehl, 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=ZONEErsetzen 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.
Suchen Sie in der YAML-Konfigurationsdatei das Feld
performanceMonitoringUnitund ändern Sie den Wert, um einen anderen PMU-Typ anzugeben:advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPEErsetzen Sie
PMU_TYPEdurch einen der folgenden Werte:PMU-Typ Architektur:
ARCHITECTURALPMU-Typ Standard:
STANDARDPMU-Typ Erweitert:
ENHANCED
Verwenden Sie den
gcloud compute instances update-from-fileBefehl mit dem--most-disruptive-allowed-actionFlag, das aufRESTARTgesetzt 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=ZONEErsetzen 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
Senden Sie eine
GETAnfrage an dieinstances.getMethode, um die Attribute einer vorhandenen Compute-Instanz aufzurufen:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMEErsetzen 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.
Senden Sie eine
PUTAnfrage an dieinstances.updateMethode, um die Compute-Instanz zu aktualisieren und neu zu starten:Fügen Sie in der Anfrage-URL den Abfrageparameter
mostDisruptiveAllowedActionein, der aufRESTARTgesetzt ist.Verwenden Sie für den Anfragetext die Ausgabe der
GET-Anfrage aus dem vorherigen Schritt. Im FeldadvancedMachineFeaturesmüssen Sie jedoch den Wert des FeldsperformanceMonitoringUnitin 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_TYPEdurch einen der folgenden Werte:PMU-Typ Architektur:
ARCHITECTURALPMU-Typ Standard:
STANDARDPMU-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
Erstellen Sie eine leere YAML-Datei.
Verwenden Sie den
gcloud compute instances exportBefehl, 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=ZONEErsetzen 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.
Entfernen Sie in der YAML-Konfigurationsdatei das Feld
performanceMonitoringUnit. Wenn das FeldadvancedMachineFeaturesleer ist, entfernen Sie es ebenfalls.advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPEVerwenden Sie den
gcloud compute instances update-from-fileBefehl mit dem--most-disruptive-allowed-actionFlag, das aufRESTARTgesetzt 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=ZONEErsetzen 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
Senden Sie eine
GETAnfrage an dieinstances.getMethode, um die Attribute einer vorhandenen Compute-Instanz aufzurufen:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMEErsetzen 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.
Senden Sie eine
PUT-Anfrage an dieinstances.updateMethode, 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
mostDisruptiveAllowedActionein, der aufRESTARTgesetzt ist.Verwenden Sie für den Anfragetext die Ausgabe der
GET-Anfrage aus dem vorherigen Schritt. Sie müssen jedoch das FeldperformanceMonitoringUnitund, wenn keine anderen Felder im FeldadvancedMachineFeaturesvorhanden sind, auch das FeldadvancedMachineFeaturesentfernen.
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.