Windows Server lento? Descubra se o gargalo é CPU, memória, disco ou rede com Gerenciador de Tarefas, resmon, perfmon e coleta contínua com logman.

Para que serve

Com o Windows Server lento e os usuários reclamando, é preciso descobrir o gargalo antes de comprar mais hardware ou mudar configurações: CPU, memória, disco ou rede? Este artigo mostra as três ferramentas nativas do Windows Server para isso, do diagnóstico rápido à coleta contínua, e quais números indicam problema de verdade.

Pré-requisitos

  • Acesso de administrador (RDP ou console iLO/IPMI).
  • Se o Windows for uma VM, acesso também ao Proxmox. Parte da lentidão pode estar no host, e não dentro da VM.

Passo a passo

1. Primeira olhada: Gerenciador de Tarefas

Pressione Ctrl+Shift+Esc. Na aba Processos, clique nos cabeçalhos CPU, Memória e Disco para ordenar e achar o processo mais pesado. Na aba Usuários (em servidor RDS) você vê o consumo por pessoa conectada. Isso resolve a maioria dos casos em que um único processo está fora de controle.

2. Detalhe em tempo real: Monitor de Recursos

Execute resmon. Ele mostra, por processo, informações que o Gerenciador de Tarefas não mostra:

  • Disco: quais arquivos estão sendo lidos e gravados, e o Tempo de resposta (ms) de cada um. Ótimo para descobrir que o antivírus está varrendo a base do ERP, por exemplo.
  • Memória: a barra mostra memória em uso, modificada, em espera e livre. Pouca memória "em espera" e "livre" somadas indica falta real de RAM.
  • Rede: as conexões TCP de cada processo e o volume trafegado.
  • CPU → Identificadores associados: descubra qual processo está segurando um arquivo que ninguém consegue apagar.

3. Medição com números: Monitor de Desempenho

Execute perfmon → Ferramentas de Monitoramento → Monitor de Desempenho. Clique no + e adicione os contadores da tabela. Use a referência como ponto de partida e observe sempre a tendência ao longo de vários minutos, não picos isolados.

ContadorO que indicaSinal de alerta
Processor(_Total)\% Processor TimeUso total de CPUAcima de 85% de forma contínua
System\Processor Queue LengthThreads esperando CPUMais de 2 por núcleo de forma contínua
Memory\Available MBytesRAM realmente disponívelAbaixo de 10% da RAM total, ou de 500 MB
Memory\% Committed Bytes In UseUso da memória comprometida (RAM + arquivo de paginação)Acima de 90%
Memory\Pages Input/secLeituras do arquivo de paginaçãoValores altos e constantes junto com pouca RAM livre
LogicalDisk(*)\Avg. Disk sec/Read e Avg. Disk sec/WriteLatência do disco (em segundos)Acima de 0,010 (10 ms) em SSD/NVMe de forma contínua
LogicalDisk(*)\Avg. Disk Queue LengthFila de operações no discoAlta e acompanhada de latência alta
LogicalDisk(*)\% Free SpaceEspaço livreAbaixo de 15%
Network Interface(*)\Bytes Total/secTráfego de redePerto de 125.000.000 (o limite de um uplink de 1 Gbps)

4. Coleta contínua (linha de base)

Problemas que acontecem "às vezes" só aparecem com histórico. Crie um coletor que grava os contadores a cada 15 segundos em arquivo circular de até 500 MB:

logman create counter LinhaDeBase -si 00:00:15 -f bincirc -max 500 -o "C:\PerfLogs\LinhaDeBase" -c "\Processor(_Total)\% Processor Time" "\System\Processor Queue Length" "\Memory\Available MBytes" "\Memory\% Committed Bytes In Use" "\LogicalDisk(*)\Avg. Disk sec/Read" "\LogicalDisk(*)\Avg. Disk sec/Write" "\LogicalDisk(*)\% Free Space" "\Network Interface(*)\Bytes Total/sec"
logman start LinhaDeBase

Para analisar, abra o arquivo .blg no perfmon (ícone de "Exibir dados de log"). O coletor não volta sozinho depois de uma reinicialização. Inicie-o de novo ou crie uma tarefa agendada "Ao iniciar" com logman start LinhaDeBase.

5. Consultas rápidas pelo PowerShell

Get-Counter '\Processor(_Total)\% Processor Time','\Memory\Available MBytes' -SampleInterval 5 -MaxSamples 6

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, Id, CPU, @{n='RAM(MB)';e={[int]($_.WorkingSet64/1MB)}}

Get-Volume | Select-Object DriveLetter, FileSystemLabel, @{n='Livre(GB)';e={[int]($_.SizeRemaining/1GB)}}, @{n='Total(GB)';e={[int]($_.Size/1GB)}}

Como saber se funcionou

  • logman query LinhaDeBase mostra o status Em execução (Running).
  • A pasta C:\PerfLogs\LinhaDeBase recebe um arquivo .blg que cresce com o tempo.
  • Você consegue apontar, com números, qual recurso está no limite nos horários de reclamação.

Windows Server lento: interpretando os números e agindo

  • CPU alta por um único processo: é um problema do aplicativo, como uma consulta pesada, um loop ou o antivírus. Mais núcleos não resolvem.
  • CPU alta distribuída em uma VM: confira no Proxmox se o host também está saturado. Se a VM tiver poucas vCPUs, aumente; se o host estiver no limite, redistribua as VMs.
  • Pouca memória disponível: veja se o SQL Server está sem limite de memória (veja o artigo «Boas práticas de SQL Server em servidor dedicado: disco, memória, tempdb e backup»). Em servidor RDS, conte quantos usuários e navegadores estão abertos.
  • Latência de disco alta: identifique o arquivo no resmon. Exclua da varredura em tempo real do antivírus as pastas de bancos de dados e de backup. Se o Windows for uma VM, confira se ela usa VirtIO SCSI e não IDE/SATA.
  • Disco cheio: as causas mais comuns são logs, a pasta C:\Windows\SoftwareDistribution, perfis de usuários RDS e backups locais esquecidos.

Problemas comuns

  • "O contador especificado não foi encontrado": os comandos deste artigo usam os nomes em inglês dos contadores. Se o Windows foi instalado em português, o Get-Counter e o logman podem exigir os nomes traduzidos (por exemplo \Processador(_Total)\% Tempo de Processador). Liste os nomes exatos com typeperf -q ou Get-Counter -ListSet *. Outra opção é criar o coletor pela interface: perfmon → Conjuntos de Coletores de Dados → Definido pelo Usuário → Novo.
  • Contadores de disco zerados: rode diskperf -y e reinicie.
  • Coletor parou: o servidor foi reiniciado. Crie a tarefa agendada descrita no passo 4.

Para receber alertas sem depender de alguém olhar o perfmon, veja também o artigo «Como instalar Zabbix Agent 2 no Debian, Ubuntu e Proxmox». Para a saúde física dos discos, veja «Como monitorar a saúde do disco e a temperatura do servidor (smartd, NVMe e IPMI)».

Perguntas frequentes

Como descobrir qual processo está deixando o Windows Server lento?

Abra o Gerenciador de Tarefas (Ctrl+Shift+Esc) e ordene por CPU, Memória e Disco. Para ver quais arquivos cada processo está usando, abra o resmon.

Qual latência de disco é aceitável no Windows Server?

Em SSD e NVMe, valores de Avg. Disk sec/Read ou Write acima de 0,010 (10 ms) de forma contínua indicam problema. Picos isolados não são motivo de alarme.

Como monitorar o servidor de forma contínua?

Crie um coletor com logman que grava os contadores em arquivo circular e analise o .blg no perfmon. Para alertas, use uma ferramenta como o Zabbix.

Por que o SQL Server ocupa quase toda a memória?

Por padrão ele usa toda a RAM disponível como cache. Defina o max server memory para deixar memória para o Windows e outros programas.

Leitura complementar

Precisa de ajuda? Se você suspeita de falha de hardware (disco com erros, memória com alertas no iLO/IPMI), abra um ticket ou fale com o suporte pelo WhatsApp.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também