← Guia Completo: Diagnóstico de Desempenho em VMs Windows

🪟 Componente: Sistema Operativo e Eventos. O Event Viewer e os logs do sistema contêm informação essencial sobre erros de drivers, falhas de serviços e eventos de hardware que frequentemente explicam problemas de desempenho. Este artigo cobre navegação eficiente no Event Viewer, Event IDs críticos, análise de BSOD e verificação de integridade do sistema.

1. Event Viewer — Navegação Eficiente

Abrir com Win+R → eventvwr.msc.

Localização dos logs mais relevantes para diagnóstico:

  • Windows Logs → System: erros de drivers, hardware, Kernel e serviços do sistema
  • Windows Logs → Application: erros de aplicações e runtime (.NET, Visual C++, etc.)
  • Applications and Services Logs → Microsoft → Windows: logs específicos de subsistemas (IIS, Hyper-V, etc.)

Para filtrar eventos rapidamente: clique com o botão direito em SystemFilter Current Log → selecionar nível Critical e Error, e definir o intervalo de tempo.


2. PowerShell — Pesquisa de Eventos Críticos

# Erros críticos do sistema nas últimas 4 horas
Get-WinEvent -FilterHashtable @{
    LogName   = 'System'
    Level     = 1, 2
    StartTime = (Get-Date).AddHours(-4)
} | Select-Object TimeCreated, Id, Message | Format-List
# Erros de aplicação nas últimas 24h
Get-EventLog -LogName Application -EntryType Error -Newest 50 |
    Select-Object TimeGenerated, Source, EventID, Message | Format-List
# Pesquisar por EventID específico (ex: 41 = Kernel-Power)
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41} -MaxEvents 10
# Erros de disco (fontes disk, ntfs, volmgr)
Get-EventLog -LogName System -Source disk,ntfs,volmgr -Newest 20 | Format-List

3. Event IDs Críticos a Conhecer

Event ID Fonte Significado Ação Recomendada
41 Kernel-Power Shutdown inesperado / BSOD / falha de energia Verificar logs de crash e temperatura do host
6008 EventLog Encerramento inesperado do sistema anterior Correlacionar com Event ID 41 e outros erros
7034 / 7031 Service Control Manager Serviço terminou inesperadamente Rever dependências e configuração do serviço
51 disk Erro de paginação durante acesso a disco Verificar saúde do disco (SMART, CHKDSK)
55 Ntfs Corrupção detetada no sistema de ficheiros NTFS Executar chkdsk /f /r após backup
1001 BugCheck Blue Screen of Death — código de erro e dump Analisar dump com WinDbg (!analyze -v)
2019 / 2020 Srv Pool não-paginada / paginada esgotada Verificar leak de driver ou kernel (PerfMon Pool)
14 VSS Falha do Volume Shadow Copy Service Verificar espaço em disco e configuração VSS
1530 User Profile Service Perfil de utilizador carregado por outras sessões Fechar sessões abertas do utilizador
💡 Metodologia: Ao investigar um problema, anotar o timestamp exato da queixa do utilizador e pesquisar no Event Viewer todos os eventos nos 5 minutos anteriores e posteriores a essa hora. A causa raramente está no momento exato — costuma aparecer alguns minutos antes.

4. Reliability Monitor — Histórico de Estabilidade

Abre com Win+R → perfmon /rel ou pesquisar Reliability Monitor no menu Start.

  • Mostra um gráfico do índice de estabilidade ao longo do tempo (1 = instável, 10 = estável)
  • Eventos de falha aparecem marcados como pontos vermelhos (crítico) ou amarelos (aviso)
  • Clicar em qualquer dia no gráfico mostra os eventos desse dia em detalhe
💡 Uso prático: O Reliability Monitor é ideal para correlacionar o início da degradação de desempenho com a instalação de software, updates de Windows ou falhas de hardware. Permite perceber quando o problema começou, mesmo que o utilizador não saiba.

5. Análise de BSOD com WinDbg

Os ficheiros de dump de BSOD estão em:

  • Minidumps: C:\Windows\Minidump\*.dmp
  • Full dump: C:\Windows\MEMORY.DMP
# Listar dumps disponíveis
Get-ChildItem C:\Windows\Minidump -Filter '*.dmp' | Sort-Object LastWriteTime -Descending

Para analisar com WinDbg (instalar via Microsoft Store ou Windows SDK):

  1. Abrir WinDbg → File → Open Crash Dump → selecionar o ficheiro .dmp
  2. Aguardar o carregamento dos símbolos (pode demorar na primeira vez)
  3. Executar os comandos:
!analyze -v        ; análise automática — mostra causa provável, driver e call stack
!process 0 0       ; listar todos os processos no momento do crash
lmvm <driver>     ; informação sobre um módulo/driver específico
!thread            ; estado da thread que causou o crash
🔴 Dica: O comando !analyze -v é o ponto de partida em qualquer análise de BSOD — fornece automaticamente o bug check code, o driver responsável e a call stack completa. Na maioria dos casos, o culpado é um driver de terceiros listado em IMAGE_NAME.

6. Verificação de Integridade do Sistema — SFC e DISM

Para verificar e reparar ficheiros de sistema corrompidos:

:: System File Checker — verifica e repara ficheiros de sistema
:: Executar como Administrador no CMD
sfc /scannow
:: DISM — verificar e reparar a imagem do Windows
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
⚠️ Nota sobre DISM /RestoreHealth: Este comando pode demorar 15–30 minutos e requer acesso à internet para descarregar componentes de reparação do Windows Update. Em ambientes offline, é necessário especificar um source alternativo (/Source:wim:D:\sources\install.wim:1).

Após SFC, ver o relatório completo:

type %windir%\Logs\CBS\CBS.log | findstr /c:"[SR]"

7. Verificar Impacto de Startup

No Task Manager → separador Startup: identificar programas com impacto High no arranque e desativar os desnecessários.

# Último tempo de boot
(Get-Date) - (gcim Win32_OperatingSystem).LastBootUpTime
# Ver serviços com arranque automático desnecessário
Get-Service | Where-Object {$_.StartType -eq 'Automatic' -and $_.Status -eq 'Running'} |
    Sort-Object DisplayName | Format-Table DisplayName, Name

8. Checklist — Sistema Operativo e Eventos

  • ✅ Event Viewer → System: erros críticos nas últimas 24h?
  • ✅ Event ID 41 (Kernel-Power) presente? — indica crash/reboot inesperado
  • ✅ Event ID 51 (disk) presente? — erro de paginação de disco
  • ✅ Event ID 7034/7031 — serviços a terminar inesperadamente?
  • ✅ Reliability Monitor: quando começou a instabilidade?
  • ✅ Dumps em C:\Windows\Minidump? Analisar com WinDbg
  • sfc /scannow — ficheiros de sistema corrompidos?
  • ✅ Task Manager → Startup: items com impacto High desnecessários?

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário