Ativar a PMU em VMs

Neste documento, explicamos como ativar a unidade de monitoramento de desempenho (PMU) em instâncias de máquina virtual (VM) novas ou atuais. Para saber mais sobre a PMU, consulte Visão geral da PMU.

Depois de ativar a PMU em uma VM C4A ou C4 e se conectar a ela, você pode executar e instalar um software de monitoramento de desempenho na VM para analisar e otimizar o desempenho do software que ela executa. Essa abordagem é útil ao executar cargas de trabalho sensíveis ao desempenho, como computação de alto desempenho (HPC) ou machine learning (ML).

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Trusted Cloud by S3NS . Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

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

    gcloud

    1. Instale a Google Cloud CLI e faça login nela com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init
    2. Set a default region and zone.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e faça login nela com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

    Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Trusted Cloud .

Funções exigidas

Para receber as permissões necessárias e ativar a PMU em uma VM nova ou atual, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para ativar a PMU em uma VM nova ou atual. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

Estas permissões são necessárias para ativar a PMU em uma VM nova ou atual:

  • Para criar VMs:
    • compute.instances.create no projeto
    • Para usar uma imagem personalizada para criar a VM: compute.images.useReadOnly na imagem
    • Usar um snapshot para criar a VM: compute.snapshots.useReadOnly no snapshot
    • Usar um modelo de instância para criar a VM: compute.instanceTemplates.useReadOnly no modelo de instância
    • Atribuir uma rede legada à VM: compute.networks.use no projeto
    • Especificar um endereço IP estático para a VM: compute.addresses.use no projeto
    • Atribuir um endereço IP externo à VM ao usar uma rede legada: compute.networks.useExternalIp no projeto
    • Especificar uma sub-rede para a VM: compute.subnetworks.use no projeto ou na sub-rede escolhida
    • Atribuir um endereço IP externo à VM ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
    • Definir os metadados da instância de VM para a VM: compute.instances.setMetadata no projeto
    • Definir tags para a VM: compute.instances.setTags na VM
    • Definir rótulos para a VM: compute.instances.setLabels na VM
    • Definir uma conta de serviço para a VM usar: compute.instances.setServiceAccount na VM
    • Criar um disco para a VM: compute.disks.create no projeto
    • Anexar um disco atual no modo somente leitura ou de leitura e gravação: compute.disks.use no disco
    • Anexar um disco atual no modo somente leitura: compute.disks.useReadOnly no disco
  • Para criar um modelo de instância: compute.instanceTemplates.create no projeto
  • Para atualizar uma VM: compute.instances.update na VM

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Ativar a PMU em VMs

Para ativar a PMU em uma ou mais VMs C4A ou C4, use um dos seguintes métodos:

Depois de ativar a PMU em uma ou mais VMs, você pode instalar e usar um software de monitoramento de desempenho nelas.

Ativar a PMU em uma VM atual

Antes de ativar a PMU em uma VM atual, verifique se ela usa um tipo de máquina e uma plataforma de CPU compatíveis fazendo o seguinte:

  1. Para verificar o tipo de máquina e a plataforma de CPU da VM, confira os detalhes dela.

  2. Se você precisar mudar o tipo de máquina da VM, faça o seguinte:

    1. Para verificar se uma plataforma de CPU compatível está disponível na zona em que a VM está, consulte Regiões e zonas disponíveis.

    2. Mude o tipo de máquina da seguinte maneira:

      • Para ativar o tipo de PMU aprimorada, especifique um tipo de máquina C4 com 96 ou 192 vCPUs.

      • Caso contrário, para ativar o tipo de PMU arquitetônica ou padrão, especifique qualquer tipo de máquina C4A ou C4.

Não é necessário interromper a VM para ativar a PMU. No entanto, para que a mudança entre em vigor, você precisa reiniciar a VM conforme descrito nesta seção.

Para ativar a PMU em uma VM atual, selecione uma das seguintes opções:

gcloud

  1. Crie um arquivo YAML vazio.

  2. Para exportar as propriedades de uma VM para o arquivo YAML que você acabou de criar, use o comando gcloud compute instances export:

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

    Substitua:

    • VM_NAME: o nome da VM.

    • YAML_FILE: o caminho para o arquivo YAML que você criou na etapa anterior.

    • ZONE: a zona em que a VM está localizada.

  3. No arquivo de configuração YAML, adicione o campo performanceMonitoringUnit. Se o campo advancedMachineFeatures não existir, adicione-o também:

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    

    Substitua PMU_TYPE por um dos seguintes valores:

    • Tipo de PMU arquitetônica: ARCHITECTURAL

    • Tipo de PMU padrão: STANDARD

    • Tipo de PMU aprimorada: ENHANCED

  4. Para atualizar e reiniciar a VM, use o comando gcloud compute instances update-from-file com a flag --most-disruptive-allowed-action definida como RESTART:

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

    Substitua:

    • VM_NAME: o nome da VM.

    • YAML_FILE: o caminho para o arquivo YAML com os dados de configuração que você modificou na etapa anterior.

    • ZONE: a zona em que a VM está localizada.

REST

  1. Crie um arquivo JSON vazio.

  2. Para conferir as propriedades de uma VM, faça uma solicitação GET para o método instances.get:

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que a VM está localizada.

    • ZONE: a zona em que a VM está localizada.

    • VM_NAME: o nome de uma VM existente.

  3. No arquivo JSON vazio que você criou nas etapas anteriores, faça o seguinte:

    1. Insira as propriedades da VM fornecidas na saída da solicitação GET.

    2. No campo advancedMachineFeatures, adicione o campo performanceMonitoringUnit. Se o campo advancedMachineFeatures não existir, adicione-o também:

      {
        "advancedMachineFeatures": {
          "performanceMonitoringUnit": "PMU_TYPE"
        },
        ...
      }
      

      Substitua PMU_TYPE por um dos seguintes valores:

      • Tipo de PMU arquitetônica: ARCHITECTURAL

      • Tipo de PMU padrão: STANDARD

      • Tipo de PMU aprimorada: ENHANCED

  4. Para atualizar e reiniciar a VM, faça uma solicitação PUT ao método instances.update. Na solicitação, faça o seguinte:

    • No URL da solicitação, inclua o parâmetro de consulta mostDisruptiveAllowedAction definido como RESTART.

    • Para o corpo da solicitação, use as propriedades da VM fornecidas no arquivo JSON que foi criado e atualizado nas etapas anteriores.

    A solicitação é semelhante a esta:

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

Para mais informações sobre como atualizar as propriedades de uma VM, consulte Atualizar propriedades da instância.

Ativar a PMU ao criar uma VM

Só é possível criar uma VM com a PMU ativada em uma zona que contenha uma plataforma de CPU compatível. Para conferir uma lista de CPUs disponíveis por zona, consulte Regiões e zonas disponíveis.

Para criar uma VM com a PMU ativada, selecione uma das seguintes opções:

gcloud

Para criar uma VM com a PMU ativada, use o comando gcloud compute instances create com a flag --performance-monitoring-unit:

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --performance-monitoring-unit=PMU_TYPE \
    --zone=ZONE

Substitua:

  • VM_NAME: o nome da VM.

  • MACHINE_TYPE: um tipo de máquina C4A ou C4. Para ativar o tipo de PMU aprimorada, especifique um tipo de máquina C4 com 96 ou 192 vCPUs. Caso contrário, a criação da VM falhará.

  • PMU_TYPE: o tipo de PMU a ser ativada na VM. Especifique um dos seguintes valores:

    • Tipo de PMU arquitetônica: architectural

    • Tipo de PMU padrão: standard

    • Tipo de PMU aprimorada: enhanced

  • ZONE: a zona em que a instância de VM será criada.

REST

Para criar uma VM com a PMU ativada, faça uma solicitação POST ao método instances.insert. No corpo da solicitação, inclua o campo performanceMonitoringUnit:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "advancedMachineFeatures": {
    "performanceMonitoringUnit": "PMU_TYPE"
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a VM será criada.

  • ZONE: a zona em que a instância de VM será criada.

  • VM_NAME: o nome da VM.

  • MACHINE_TYPE: um tipo de máquina C4A ou C4. Para ativar o tipo de PMU aprimorada, especifique um tipo de máquina C4 com 96 ou 192 vCPUs. Caso contrário, a criação da VM falhará.

  • IMAGE_PROJECT: o projeto de imagem que contém a imagem, por exemplo, debian-cloud. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.

  • IMAGE: especifique uma destas opções:

    • Uma versão específica da imagem do SO. Por exemplo: debian-12-bookworm-v20240617

    • Uma família de imagens, que precisa ser formatada como family/IMAGE_FAMILY. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificar family/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.

  • PMU_TYPE: o tipo de PMU a ser ativada na VM. Especifique um dos seguintes valores:

    • Tipo de PMU arquitetônica: ARCHITECTURAL

    • Tipo de PMU padrão: STANDARD

    • Tipo de PMU aprimorada: ENHANCED

Para mais informações sobre como criar uma VM, consulte Criar e iniciar uma instância do Compute Engine.

Ativar a PMU ao criar um modelo de instância

Se você quiser criar um modelo de instância regional com a PMU ativada, verifique se pelo menos uma zona na região selecionada contém uma plataforma de CPU compatível. Para conferir uma lista de CPUs disponíveis por zona, consulte Regiões e zonas disponíveis.

Depois de criar um modelo de instância com a PMU ativada, é possível usá-lo para fazer o seguinte:

Para criar um modelo de instância com a PMU ativada, selecione uma das seguintes opções:

gcloud

Para criar um modelo de instância com a PMU ativada, use o comando gcloud compute instance-templates create com a flag --performance-monitoring-unit. Para criar um modelo de instância regional, inclua também a flag --instance-template-region.

Por exemplo, para criar um modelo de instância regional com a PMU ativada, execute o seguinte comando:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --performance-monitoring-unit=PMU_TYPE

Substitua:

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.

  • REGION: a região em que o modelo de instância será criado.

  • MACHINE_TYPE: um tipo de máquina C4A ou C4. Para ativar o tipo de PMU aprimorada, especifique um tipo de máquina C4 com 96 ou 192 vCPUs. Caso contrário, a criação da VM falhará.

  • PMU_TYPE: o tipo de PMU a ser incluída no modelo de instância. Especifique um dos seguintes valores:

    • Tipo de PMU arquitetônica: architectural

    • Tipo de PMU padrão: standard

    • Tipo de PMU aprimorada: enhanced

REST

Para criar um modelo de instância com a PMU ativada, faça uma solicitação POST para um dos seguintes métodos:

No corpo da solicitação, inclua o campo performanceMonitoringUnit.

Por exemplo, para criar um modelo de instância regional com a PMU ativada, faça uma solicitação POST da seguinte maneira:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "advancedMachineFeatures": {
      "performanceMonitoringUnit": "PMU_TYPE"
    }
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que o modelo de instância será criado.

  • REGION: a região em que o modelo de instância será criado.

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.

  • IMAGE_PROJECT: o projeto de imagem que contém a imagem, por exemplo, debian-cloud. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.

  • IMAGE: especifique uma destas opções:

    • Uma versão específica da imagem do SO. Por exemplo: debian-12-bookworm-v20240617

    • Uma família de imagens, que precisa ser formatada como family/IMAGE_FAMILY. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificar family/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.

  • MACHINE_TYPE: um tipo de máquina C4A ou C4. Para ativar o tipo de PMU aprimorada, especifique um tipo de máquina C4 com 96 ou 192 vCPUs. Caso contrário, a criação da VM falhará.

  • PMU_TYPE: o tipo de PMU a ser incluída no modelo de instância. Especifique um dos seguintes valores:

    • Tipo de PMU arquitetônica: ARCHITECTURAL

    • Tipo de PMU padrão: STANDARD

    • Tipo de PMU aprimorada: ENHANCED

Para mais informações sobre como criar um modelo de instância, consulte Criar modelos de instância.

A seguir