Este documento explica como ativar a unidade de monitoramento de desempenho (PMU) em instâncias A4X, C4A, C4 ou M4 do Compute Engine. Depois de ativar a PMU, você pode usá-la para otimizar cargas de trabalho sensíveis ao desempenho, como computação de alto desempenho (HPC) ou machine learning (ML), identificando e resolvendo gargalos de aplicativos.
Para saber mais sobre os requisitos e limitações que você aplica ao ativar a PMU em uma instância de computação, consulte Visão geral da PMU.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Cloud de Confiance 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:
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
-
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .
Funções exigidas
Para receber as permissões necessárias para ativar a PMU em uma instância de computação 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 instância de computação nova ou atual. Para acessar 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 instância de computação nova ou atual:
-
Para criar instâncias de computação:
compute.instances.createno projeto- Usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem - Utilizar um snapshot para criar a VM:
compute.snapshots.useReadOnlyno snapshot - Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância - Atribuir uma rede legada à VM:
compute.networks.useno projeto - Especificar um endereço IP estático para a VM:
compute.addresses.useno projeto - Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIpno projeto - Especificar uma sub-rede para a VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida - Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida - Definir os metadados da instância da VM:
compute.instances.setMetadatano projeto - Definir tags para a VM:
compute.instances.setTagsna VM - Definir rótulos para a VM:
compute.instances.setLabelsna VM - Definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccountna VM - Criar um disco para a VM:
compute.disks.createno projeto - Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.useno disco - Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnlyno disco
-
Para criar um modelo de instância:
compute.instanceTemplates.createno projeto -
Para atualizar uma instância de computação:
compute.instances.updatena instância de computação
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Ativar a PMU em instâncias de computação
Para ativar a PMU em uma ou mais instâncias de computação, use um dos seguintes métodos:
- Ativar a PMU em uma instância de computação atual
- Ativar a PMU ao criar uma instância de computação
- Ativar a PMU ao criar um modelo de instância
Depois de ativar a PMU em uma ou mais instâncias de computação, você pode instalar e usar um software de monitoramento de desempenho nelas.
Ativar a PMU em uma instância de computação atual
Antes de ativar a PMU em uma instância de computação, verifique se ela usa uma série de máquinas e uma plataforma de CPU compatíveis. Para verificar a série de máquinas e a plataforma de CPU usadas pela instância de computação, confira os detalhes dela.
Se a instância de computação não usar uma série de máquinas compatível, substitua o tipo de máquina dela. Para isso, migre sua carga de trabalho para uma nova instância de computação que use um tipo de máquina compatível ou mude o tipo de máquina para configurações compatíveis:
Se você precisar mover sua instância de computação atual para uma nova para mudar o tipo de máquina, crie uma nova instância de computação com a PMU ativada em uma zona que ofereça a plataforma de CPU que você quer usar com eventos de PMU.
Se você puder mudar o tipo de máquina, siga estas etapas:
Verifique se uma plataforma de CPU compatível está disponível na zona em que sua instância de computação existe. Para isso, consulte as regiões e zonas disponíveis.
Se uma plataforma de CPU compatível não estiver disponível na zona da sua instância de computação, migre a instância para uma zona que tenha uma plataforma de CPU compatível.
Mude o tipo de máquina. Para ativar o tipo de PMU arquitetônica ou padrão, especifique qualquer tipo de máquina A4X, C4A, C4 ou M4. No entanto, para ativar o tipo de PMU aprimorada, especifique um dos seguintes tipos de máquina C4 ou M4:
Qualquer tipo de máquina C4 com 144 ou 288 vCPUs
Um dos seguintes tipos de máquina M4:
m4-megamem-112m4-megamem-224m4-ultramem-56m4-ultramem-112m4-ultramem-224
Não é necessário interromper a instância de computação para ativar a PMU. No entanto, para que a mudança entre em vigor, reinicie a instância de computação conforme descrito nesta seção.
Para ativar a PMU em uma instância de computação, selecione uma das seguintes opções:
gcloud
Crie um arquivo YAML vazio.
Para exportar as propriedades de uma instância de computação para o arquivo YAML que você acabou de criar, use o comando
gcloud compute instances export:gcloud compute instances export INSTANCE_NAME \ --destination=YAML_FILE \ --zone=ZONESubstitua:
INSTANCE_NAME: o nome da instância de computação.YAML_FILE: o caminho para o arquivo YAML que você criou na etapa anterior.ZONE: a zona em que a instância de computação está.
No arquivo de configuração YAML, no campo
advancedMachineFeatures, adicione o campoperformanceMonitoringUnit. Se o campoadvancedMachineFeaturesnão existir, adicione-o também:advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPESubstitua
PMU_TYPEpor um dos seguintes valores:Tipo de PMU arquitetônica:
ARCHITECTURALTipo de PMU padrão:
STANDARDTipo de PMU aprimorada:
ENHANCED
Para atualizar e reiniciar a instância de computação, use o comando
gcloud compute instances update-from-filecom a flag--most-disruptive-allowed-actiondefinida comoRESTART:gcloud compute instances update-from-file INSTANCE_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONESubstitua
YAML_FILEpelo caminho para o arquivo YAML com os dados de configuração que você modificou na etapa anterior.
REST
Para conferir as propriedades de uma instância de computação atual, faça uma solicitação
GETpara o métodoinstances.get:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMESubstitua:
PROJECT_ID: o ID do projeto em que você criou a instância de computação.ZONE: a zona em que a instância de computação está.INSTANCE_NAME: o nome da instância de computação.
Para atualizar e reiniciar a instância de computação, faça uma solicitação
PUTao métodoinstances.updateda seguinte maneira:No URL da solicitação, inclua o parâmetro de consulta
mostDisruptiveAllowedActiondefinido comoRESTART.Para o corpo da solicitação, use a saída da solicitação
GETda etapa anterior. No entanto, no campoadvancedMachineFeatures, é necessário adicionar o campoperformanceMonitoringUnitpara ativar a PMU. Se o campoadvancedMachineFeaturesnão existir na saída da solicitação, adicione-o também:
A solicitação
PUTé semelhante a esta:PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }Substitua
PMU_TYPEpor um dos seguintes valores:Tipo de PMU arquitetônica:
ARCHITECTURALTipo de PMU padrão:
STANDARDTipo de PMU aprimorada:
ENHANCED
Para mais informações sobre como atualizar as propriedades de uma instância de computação, consulte Atualizar as propriedades da instância.
Ativar a PMU ao criar uma instância de computação
Só é possível criar uma instância de computação 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 instância de computação com a PMU ativada, selecione uma das seguintes opções:
gcloud
Para criar uma instância de computação com a PMU ativada, use o
comando gcloud compute instances create
com a flag --performance-monitoring-unit:
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--performance-monitoring-unit=PMU_TYPE \
--zone=ZONE
Substitua:
INSTANCE_NAME: o nome da instância de computação.MACHINE_TYPE: o tipo de máquina da instância de computação. Se você quiser ativar o tipo de PMU aprimorado em uma instância de computação, só será possível fazer isso se a instância usar um tipo de máquina compatível.PMU_TYPE: o tipo de PMU a ser ativado na instância de computação. Especifique um dos seguintes valores:Tipo de PMU arquitetônica:
architecturalTipo de PMU padrão:
standardTipo de PMU aprimorada:
enhanced
ZONE: a zona em que a instância de computação será criada.
REST
Para criar uma instância de computação 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": "INSTANCE_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 instância de computação será criada.ZONE: a zona em que a instância de computação será criada.INSTANCE_NAME: o nome da instância de computação.MACHINE_TYPE: o tipo de máquina da instância de computação. Se você quiser ativar o tipo de PMU aprimorado em uma instância de computação, só será possível fazer isso se a instância usar um tipo de máquina compatível.IMAGE_PROJECT: o projeto que contém a imagem, comodebian-cloud. Para mais detalhes sobre os projetos de imagem disponíveis, consulte Imagens públicas.IMAGE: especifique uma destas opções:Uma versão específica da imagem do SO, como
debian-12-bookworm-v20240617.Uma família de imagens, que precisa ter o formato
family/IMAGE_FAMILY. Ela especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para saber como usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
PMU_TYPE: o tipo de PMU a ser ativado na instância de computação. Especifique um dos seguintes valores:Tipo de PMU arquitetônica:
ARCHITECTURALTipo de PMU padrão:
STANDARDTipo de PMU aprimorada:
ENHANCED
Para mais informações sobre como criar uma instância de computação, 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 que especifique a ativação da PMU, 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 que especifica a ativação da PMU, é possível usar o modelo para fazer o seguinte:
Ative a PMU nas instâncias de computação de um grupo gerenciado de instâncias (MIG) fazendo o seguinte:
Para criar um modelo de instância que especifique a ativação da PMU, selecione uma das seguintes opções:
gcloud
Para criar um modelo de instância que especifique a ativação da PMU, use o
comando gcloud compute instance-templates create
com a flag --performance-monitoring-unit.
Por exemplo, use o seguinte comando para criar um modelo de instância
regional. Se você quiser criar um modelo de instância global, use o mesmo comando sem a flag --instance-template-region.
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: o tipo de máquina das instâncias de computação. Se você quiser ativar o tipo de PMU aprimorado em uma instância de computação, só será possível fazer isso se a instância usar um tipo de máquina compatível.PMU_TYPE: o tipo de PMU a ser incluído no modelo de instância. Especifique um dos seguintes valores:Tipo de PMU arquitetônica:
architecturalTipo de PMU padrão:
standardTipo de PMU aprimorada:
enhanced
REST
Para criar um modelo de instância que especifique a ativação da PMU, faça uma
solicitação POST para um dos seguintes métodos:
Para criar um modelo de instância global: método
instanceTemplates.insert.Para criar um modelo de instância regional: método
regionInstanceTemplates.insert.
No corpo da solicitação, inclua o campo performanceMonitoringUnit.
Por exemplo, para criar um modelo de instância regional que especifique a
ativação da PMU, 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 que contém a imagem, comodebian-cloud. Para mais detalhes sobre os projetos de imagem disponíveis, consulte Imagens públicas.IMAGE: especifique uma destas opções:Uma versão específica da imagem do SO, como
debian-12-bookworm-v20240617.Uma família de imagens, que precisa ter o formato
family/IMAGE_FAMILY. Ela especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para saber como usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
MACHINE_TYPE: o tipo de máquina das instâncias de computação. Se você quiser ativar o tipo de PMU aprimorado em uma instância de computação, só será possível fazer isso se a instância usar um tipo de máquina compatível.PMU_TYPE: o tipo de PMU a ser incluído no modelo de instância. Especifique um dos seguintes valores:Tipo de PMU arquitetônica:
ARCHITECTURALTipo de PMU padrão:
STANDARDTipo de PMU aprimorada:
ENHANCED
Para mais informações sobre como criar um modelo de instância, consulte Criar modelos de instância.