Depois de ativar a PMU em uma instância de computação e executar um software de monitoramento de desempenho nela, você pode fazer o seguinte:
Mudar o tipo de PMU ativado na instância de computação. Essa mudança é útil quando você quer rastrear diferentes tipos de eventos de CPU de baixo nível.
Desativar a PMU na instância de computação. Essa ação é útil quando você não precisa mais acessar os contadores de desempenho na PMU.
Este documento explica como mudar o tipo de unidade de monitoramento de desempenho (PMU) ativado em uma instância do Compute Engine ou desativá-lo. Para saber mais sobre a PMU, 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 Google Cloud serviços e APIs do. Para executar
código ou amostras de um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com um destes métodos:
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Funções exigidas
Para receber as permissões necessárias para mudar o tipo de PMU ativado em uma instância de computação ou desativá-lo, 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 mudar o tipo de PMU ativado em uma instância de computação ou desativá-lo. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para mudar o tipo de PMU ativado em uma instância de computação ou desativá-lo:
-
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.
Mudar o tipo de PMU em uma instância de computação
Antes de mudar o tipo de PMU para uma instância A4X, C4A, C4 ou M4, consulte os detalhes da instância de computação usando a Google Cloud CLI ou a API REST. Na saída do comando ou da solicitação de API, verifique o seguinte:
Para verificar se o tipo de PMU está ativado na instância de computação, confira o valor do campo
performanceMonitoringUnit. Se o campo estiver ausente, a PMU estará desativada.Se você quiser ativar o tipo de PMU aprimorada, verifique se a instância de computação usa um dos seguintes tipos de máquina conferindo o valor do campo
machineType:Um 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
Se a instância de computação usar um tipo de máquina diferente, você precisará mudar o tipo de máquina usado pela instância de computação antes de poder monitorar tipos de PMU aprimorados.
Não é necessário interromper a instância de computação para mudar o tipo de PMU. No entanto, para que a mudança entre em vigor, você precisa reiniciar a instância de computação conforme descrito nesta seção.
Para mudar o tipo de PMU ativado em uma instância de computação atual, 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
gcloud compute instances exportcomando: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, localize o campo
performanceMonitoringUnite mude o valor dele para especificar um tipo de PMU diferente: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
gcloud compute instances update-from-filecomando com a--most-disruptive-allowed-actionflag definida comoRESTART:gcloud compute instances update-from-file INSTANCE_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONESubstitua:
INSTANCE_NAME: o nome da instância de computação.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 instância de computação está.
REST
Para conferir as propriedades de uma instância de computação atual, faça uma
GETsolicitação para oinstances.getmétodo:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMESubstitua:
PROJECT_ID: o ID do projeto em que a instância de computação está localizada.ZONE: a zona em que a instância de computação está.INSTANCE_NAME: o nome de uma instância de computação atual.
Para atualizar e reiniciar a instância de computação, faça uma
PUTsolicitação para oinstances.updatemétodo da 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, você precisa mudar o valor do campoperformanceMonitoringUnitpara o tipo de PMU escolhido.
A solicitação
PUTé semelhante a esta:PUT https://compute.googleapis.com/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 saber como atualizar as propriedades de uma instância de computação, consulte Atualizar as propriedades da instância.
Desativar a PMU em uma instância de computação
É possível desativar a PMU em uma instância de computação sem interrompê-la. No entanto, para que a mudança entre em vigor, você precisa reiniciar a instância de computação conforme descrito nesta seção.
Para desativar a PMU em uma instância de computação atual, 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
gcloud compute instances exportcomando: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, remova o campo
performanceMonitoringUnit. Se o campoadvancedMachineFeaturesestiver vazio, remova-o também.advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPEPara atualizar e reiniciar a instância de computação, use o
gcloud compute instances update-from-filecomando com a--most-disruptive-allowed-actionflag definida comoRESTART:gcloud compute instances update-from-file INSTANCE_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONESubstitua:
INSTANCE_NAME: o nome da instância de computação.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 instância de computação está.
REST
Para conferir as propriedades de uma instância de computação atual, faça uma
GETsolicitação para oinstances.getmétodo:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMESubstitua:
PROJECT_ID: o ID do projeto em que a instância de computação está.ZONE: a zona em que a instância de computação está.INSTANCE_NAME: o nome de uma instância de computação atual.
Para atualizar e reiniciar a instância de computação, faça uma
PUTsolicitação para oinstances.updatemétodo. Na solicitação, faça o seguinte: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, você precisa remover o campoperformanceMonitoringUnite, se não houver outros campos no campoadvancedMachineFeatures, o campoadvancedMachineFeaturestambém.
A solicitação
PUTé semelhante a esta:PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { ~"advancedMachineFeatures": { ... }~, ... }
Para saber como atualizar as propriedades de uma instância de computação, consulte Atualizar as propriedades da instância.