Gérer la PMU dans les instances Compute Engine

Une fois que vous avez activé la PMU dans une instance de calcul et exécuté un logiciel de surveillance des performances sur l'instance de calcul, vous pouvez effectuer les opérations suivantes :

  • Modifiez le type de PMU activé dans l'instance de calcul. Cette modification est utile lorsque vous souhaitez suivre différents types d'événements CPU de bas niveau.

  • Désactivez la PMU dans l'instance de calcul. Cette action est utile lorsque vous n'avez plus besoin d'accéder aux compteurs de performances dans l'UPM.

Ce document explique comment modifier le type d'unité de surveillance des performances (PMU, Performance Monitoring Unit) activé dans une instance Compute Engine ou le désactiver. Pour en savoir plus sur la PMU, consultez la présentation de la PMU.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

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

    gcloud

    1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    2. Set a default region and zone.

    REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

Rôles requis

Pour obtenir les autorisations nécessaires pour modifier le type de PMU activé dans une instance de calcul ou le désactiver, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour modifier le type de PMU activé dans une instance de calcul ou le désactiver. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour modifier le type de PMU activé dans une instance de calcul ou le désactiver :

  • Pour mettre à jour une instance de calcul : compute.instances.update sur l'instance de calcul

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Modifier le type de PMU dans une instance de calcul

Avant de modifier le type de PMU pour une instance A4X, C4A, C4 ou M4 existante, affichez les détails de l'instance de calcul à l'aide de la Google Cloud CLI ou de l'API REST. Dans le résultat de la commande ou de la requête API, vérifiez les points suivants :

  1. Pour vérifier que le type de PMU est activé dans l'instance de calcul, vérifiez la valeur du champ performanceMonitoringUnit. Si le champ est manquant, l'unité PMU est désactivée.

  2. Si vous souhaitez activer le type de PMU amélioré, vous devez vérifier que l'instance de calcul utilise l'un des types de machines suivants en vérifiant la valeur du champ machineType :

    • Type de machine C4 avec 144 ou 288 processeurs virtuels

    • L'un des types de machines M4 suivants :

      • m4-megamem-112

      • m4-megamem-224

      • m4-ultramem-56

      • m4-ultramem-112

      • m4-ultramem-224

    Si votre instance de calcul utilise un autre type de machine, vous devez modifier le type de machine utilisé par l'instance de calcul avant de pouvoir surveiller les types de PMU améliorés.

Vous n'avez pas besoin d'arrêter l'instance de calcul pour modifier le type de PMU. Toutefois, pour que la modification prenne effet, vous devez redémarrer l'instance de calcul, comme décrit dans cette section.

Pour modifier le type de PMU activé dans une instance de calcul existante, sélectionnez l'une des options suivantes :

gcloud

  1. Créez un fichier YAML vide.

  2. Pour exporter les propriétés d'une instance de calcul dans le fichier YAML que vous venez de créer, utilisez la commande gcloud compute instances export :

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

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance de calcul.

    • YAML_FILE : chemin d'accès au fichier YAML que vous avez créé à l'étape précédente.

    • ZONE : zone où se trouve l'instance de calcul.

  3. Dans le fichier de configuration YAML, recherchez le champ performanceMonitoringUnit et modifiez sa valeur pour spécifier un autre type de PMU :

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    

    Remplacez PMU_TYPE par l'une des valeurs suivantes :

    • Type de PMU architectural : ARCHITECTURAL

    • Type de PMU standard : STANDARD

    • Type de PMU amélioré : ENHANCED

  4. Pour mettre à jour l'instance de calcul et la redémarrer, utilisez la commande gcloud compute instances update-from-file avec le flag --most-disruptive-allowed-action défini sur RESTART :

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

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance de calcul.

    • YAML_FILE : chemin d'accès au fichier YAML contenant les données de configuration que vous avez modifiées à l'étape précédente.

    • ZONE : zone où se trouve l'instance de calcul.

REST

  1. Pour afficher les propriétés d'une instance de calcul existante, envoyez une requête GET à la méthode instances.get :

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

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel se trouve l'instance de calcul.

    • ZONE : zone où se trouve l'instance de calcul.

    • INSTANCE_NAME : nom d'une instance de calcul existante.

  2. Pour mettre à jour l'instance de calcul et la redémarrer, envoyez une requête PUT à la méthode instances.update comme suit :

    • Dans l'URL de la requête, incluez le paramètre de requête mostDisruptiveAllowedAction défini sur RESTART.

    • Pour le corps de la requête, utilisez la sortie de la requête GET de l'étape précédente. Toutefois, dans le champ advancedMachineFeatures, vous devez remplacer la valeur du champ performanceMonitoringUnit par le type de PMU de votre choix.

    La requête PUT ressemble à ce qui suit :

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

    Remplacez PMU_TYPE par l'une des valeurs suivantes :

    • Type de PMU architectural : ARCHITECTURAL

    • Type de PMU standard : STANDARD

    • Type de PMU amélioré : ENHANCED

Pour en savoir plus sur la mise à jour des propriétés d'une instance de calcul, consultez Mettre à jour les propriétés d'une instance.

Désactiver la PMU dans une instance de calcul

Vous pouvez désactiver l'UPM dans une instance de calcul sans l'arrêter. Toutefois, pour que la modification prenne effet, vous devez redémarrer l'instance de calcul, comme décrit dans cette section.

Pour désactiver la PMU dans une instance de calcul existante, sélectionnez l'une des options suivantes :

gcloud

  1. Créez un fichier YAML vide.

  2. Pour exporter les propriétés d'une instance de calcul dans le fichier YAML que vous venez de créer, utilisez la commande gcloud compute instances export :

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

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance de calcul.

    • YAML_FILE : chemin d'accès au fichier YAML que vous avez créé à l'étape précédente.

    • ZONE : zone où se trouve l'instance de calcul.

  3. Dans le fichier de configuration YAML, supprimez le champ performanceMonitoringUnit. Si le champ advancedMachineFeatures est vide, supprimez-le également.

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    
  4. Pour mettre à jour l'instance de calcul et la redémarrer, utilisez la commande gcloud compute instances update-from-file avec le flag --most-disruptive-allowed-action défini sur RESTART :

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

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance de calcul.

    • YAML_FILE : chemin d'accès au fichier YAML contenant les données de configuration que vous avez modifiées à l'étape précédente.

    • ZONE : zone où se trouve l'instance de calcul.

REST

  1. Pour afficher les propriétés d'une instance de calcul existante, envoyez une requête GET à la méthode instances.get :

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

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel se trouve l'instance de calcul.

    • ZONE : zone où se trouve l'instance de calcul.

    • INSTANCE_NAME : nom d'une instance de calcul existante.

  2. Pour mettre à jour l'instance de calcul et la redémarrer, envoyez une requête PUT à la méthode instances.update. Dans la requête, procédez comme suit :

    • Dans l'URL de la requête, incluez le paramètre de requête mostDisruptiveAllowedAction défini sur RESTART.

    • Pour le corps de la requête, utilisez la sortie de la requête GET de l'étape précédente. Toutefois, vous devez supprimer le champ performanceMonitoringUnit et, s'il n'y a pas d'autres champs dans le champ advancedMachineFeatures, le champ advancedMachineFeatures également.

    La requête PUT ressemble à ce qui suit :

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

Pour en savoir plus sur la mise à jour des propriétés d'une instance de calcul, consultez Mettre à jour les propriétés d'une instance.

Étapes suivantes