Este artigo descreve como diagnosticar e resolver a alta utilização de CPU em uma instância ECS Windows.
Descrição do problema
Os seguintes sintomas podem ocorrer na instância ECS Windows:
O sistema fica lento, os tempos de resposta dos serviços aumentam e o desempenho dos aplicativos degrada.
Ao monitorar a instância no console do ECS, a utilização ou a carga de CPU está alta. Como referência geral, a utilização de CPU é considerada alta quando excede 80%, e a carga é alta quando excede 0,5.
Você recebe notificações de alerta indicando que a utilização ou a carga de CPU excedeu o limiar configurado.
Possíveis causas
Os seguintes fatores podem causar alta utilização de CPU:
A instância ECS está infectada com malware, como vírus ou trojan.
Software antivírus de terceiros na instância ECS consome muitos recursos de CPU.
Exceções de aplicativos na instância ECS, como processos de negócios operando em capacidade máxima devido a ataques CC, código com loops infinitos, exceções de driver, alto uso de I/O ou aplicativos que causam interrupções frequentes.
Procedimento
Verificar a utilização de CPU com o Resource Monitor
Esta seção utiliza o Resource Monitor em uma instância Windows Server 2022 para demonstrar como diagnosticar a causa da alta utilização de CPU. Para mais informações sobre outras ferramentas comuns, consulte Ferramentas comuns.
Conecte-se à instância ECS usando VNC.
Para mais informações, consulte Conectar usando VNC.
Na parte inferior da área de trabalho, clique no ícone Search, insira
Resource Monitore clique em OK.Na janela do Resource Monitor, verifique se algum processo apresenta utilização de CPU excessivamente alta.

Para processos que consomem muitos recursos de CPU, anote os IDs de processo (PIDs) e os nomes dos programas.
Abra o Task Manager. Na aba Details, localize o nome do processo anormal e o PID correspondente identificado no Resource Monitor. Clique com o botão direito no nome do processo e selecione Open file location para determinar se o processo é um programa malicioso.
Resolver a alta utilização de CPU
A tabela a seguir descreve as causas comuns de alta utilização de CPU e suas soluções.
Sintoma | Causa | Solução |
Um programa ou processo de usuário anormal consome persistentemente uma grande quantidade de recursos de CPU, resultando em alta utilização e carga de CPU. | O aplicativo está com mau funcionamento ou mal otimizado, fazendo com que consuma recursos de CPU em excesso. |
|
Um programa ou processo de usuário normal consome uma grande quantidade de recursos de CPU por um período prolongado, resultando em alta utilização e carga de CPU. | Um aplicativo crítico para os negócios exige mais recursos de CPU do que a instância fornece. | Se a CPU da instância se tornar um gargalo de desempenho, considere as seguintes soluções com base nos requisitos de negócios:
|
Um único programa ou processo de negócios apresenta ocasionalmente alta utilização e carga de CPU, mas a duração é curta e a frequência é baixa. | O programa de negócios precisa ser otimizado para lidar com o alto consumo de recursos de CPU desencadeado por cenários específicos, como criptografia, descriptografia e alta concorrência. | Otimize o programa de negócios. |
Nenhum programa ou processo individual consome uma grande quantidade de recursos de CPU, mas a utilização geral de CPU é alta e a carga é baixa. | Os recursos de CPU necessários para a operação normal dos serviços na instância excedem a capacidade de CPU da instância. | Se a CPU da instância for o gargalo, faça upgrade do tipo de instância. Para mais informações, consulte Alterar os tipos de instância. |
Ferramentas comuns
Esta seção descreve ferramentas Windows que ajudam a identificar a causa da alta utilização de CPU.
Task Manager
O Task Manager exibe uma lista de aplicativos, ajudando a encontrar aqueles que consomem muitos recursos de CPU. A figura a seguir mostra a janela do Task Manager.

Ao verificar a utilização de CPU na aba Performance, clique com o botão direito no gráfico de utilização de CPU e selecione .
A figura a seguir mostra a utilização de duas CPUs lógicas.

Se a utilização de CPU de um único processo disparar para quase 100% enquanto a utilização de outros processos permanecer baixa, a causa pode estar relacionada ao processamento de I/O de rede.
Resource Monitor
O Resource Monitor oferece uma visão clara da utilização de CPU e permite pesquisar processos pelos handles e módulos associados.

Process Explorer
O Process Explorer é uma ferramenta do Microsoft Sysinternals. Ao configurar os símbolos corretos, você pode inspecionar a pilha de chamadas dos threads de um aplicativo para localizar drivers potencialmente problemáticos. Para baixar o Process Explorer, consulte Process Explorer.
A figura a seguir mostra a janela da ferramenta Process Explorer.

Performance Monitor
O Performance Monitor é uma ferramenta da Microsoft para coletar contadores de desempenho de diversos componentes. Para analisar o consumo de recursos de CPU do sistema, verifique os seguintes contadores.
O Performance Monitor tem os seguintes três parâmetros principais:
\Processor(_Total)\% Processor Time: a porcentagem do tempo decorrido que o processador gasta executando um thread não ocioso.\Processor(_Total)\% Processor Time=\Processor(*)\% User Time+\Processor(*)\% Privileged Time.\Processor(*)\% User Time: o tempo gasto executando código de programa em modo de usuário. Ajuda a determinar qual aplicativo ou chamada de função consome mais tempo.\Processor(*)\% Privileged Time: a porcentagem de tempo que um aplicativo gasta executando chamadas de sistema em modo kernel (modo privilegiado), como para drivers, IRPs e trocas de contexto. Se o sistema operacional gastar mais de 30% do tempo emPrivileged Time, a instância provavelmente está realizando operações de alto throughput de I/O.Quando o
% Privileged Timeestá alto, verifique também os contadores% DPC Time,% Interrupt TimeeContext Switches/sec.Valores altos de
% DPC Timee% Interrupt Timeindicam que um dispositivo desconhecido está realizando um grande número de operações ou tem desempenho insatisfatório.Um valor alto de
context switchsignifica que o kernel está alternando frequentemente entre processos ou threads na CPU. Para mais informações, consulte The Case of the 2 Million Context Switches e Mark Russinovich's The Case of the System Process CPU Spikes.Um valor alto de
Context Switches/secindica que um grande número de threads está no estado Ready. Para resolver esse problema, reduza o número de threads.
Referência
Para resolver a alta utilização de CPU em um sistema Linux, consulte Diagnosticar e resolver problemas de alta utilização de CPU ou carga em instâncias Linux.