Ativar a PMU em VMs


Este documento descreve como ativar a unidade de monitoramento de desempenho (PMU) em instâncias de máquina virtual (VM) novas ou atuais.

Depois de ativar a PMU em uma VM C4 e conectar-se à VM, você pode executar e instalar um software de monitoramento de desempenho nela para analisar e otimizar o desempenho do software que ela executa. Isso é útil ao executar cargas de trabalho sensíveis ao desempenho, como cargas de trabalho de computação de alto desempenho (HPC) ou de 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 Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    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

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

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

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google 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 C4, selecione um destes 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 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.

    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 exportar as propriedades de uma VM atual, faça uma solicitação GET para o método instances.get.

    GET https://compute.googleapis.com/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. Adicione o campo performanceMonitoringUnit.

      {
        "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 most_disruptive_allowed_action 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.

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

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

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 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.googleapis.com/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 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 VMs em massa

Só é possível criar VMs em massa com a PMU ativada em zonas que 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.

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

gcloud

Para criar VMs em massa com a PMU ativada, use o comando gcloud compute instances bulk create com a flag --performance-monitoring-unit.

Por exemplo, para criar VMs em massa em uma única zona e especificar um padrão de nome, execute o seguinte comando:

gcloud compute instances bulk create \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --name-pattern="NAME_PATTERN" \
    --performance-monitoring-unit=PMU_TYPE \
    --zone=ZONE

Substitua:

  • COUNT: o número de VMs a serem criadas.

  • MACHINE_TYPE: um tipo de máquina 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á.

  • NAME_PATTERN: o padrão de nome para as VMs. Para substituir uma sequência de números no nome de uma VM, use uma sequência de caracteres hash (#). Por exemplo, usar vm-# para o padrão de nome gera VMs com nomes que começam com vm-1, vm-2 e continuam até o número de VMs especificado por COUNT.

  • PMU_TYPE: o tipo de PMU a ser ativada nas VMs. 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 as VMs serão criadas em massa.

REST

Para criar VMs em massa com a PMU ativada, faça uma solicitação POST ao método instances.bulkInsert. No corpo da solicitação, inclua o campo performanceMonitoringUnit.

Por exemplo, para criar VMs em massa em uma única zona e especificar um padrão de nome, faça uma solicitação POST da seguinte maneira:

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "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 as VMs serão criadas em massa.

  • ZONE: a zona em que as VMs serão criadas em massa.

  • COUNT: o número de VMs a serem criadas.

  • NAME_PATTERN: o padrão de nome para as VMs. Para substituir uma sequência de números no nome de uma VM, use uma sequência de caracteres hash (#). Por exemplo, usar vm-# para o padrão de nome gera VMs com nomes que começam com vm-1, vm-2 e continuam até o número de VMs especificado por COUNT.

  • MACHINE_TYPE: um tipo de máquina 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 nas VMs. 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 as VMs serão criadas em massa.

Para mais informações sobre a criação de VMs em massa, consulte Criar VMs em massa.

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.

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

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

Substitua:

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

  • MACHINE_TYPE: um tipo de máquina 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 a um dos seguintes métodos:

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

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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.

  • 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 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