Como solucionar problemas de congelamento de computadores Windows

Sumário
Este artigo descreve como solucionar problemas de congelamento em computadores e servidores Windows. Ele também fornece métodos para coleta de dados que ajudarão administradores ou desenvolvedores de software a diagnosticar, identificar e corrigir esses problemas.
Identificar o problema
  • Qual computador está congelando? (Exemplo: o computador afetado é um servidor físico, virtual e assim por diante.)
  • Que operação estava sendo realizada quando o congelamento ocorreu? (Exemplo: Esse problema ocorre quando você desliga a GUI, realiza uma ou mais operações e assim por diante.)
  • Com que frequência os erros ocorrem? (Exemplo: esse problema ocorre todas as noites às 19h, todos os dias por volta das 19h e assim por diante.)
  • Em quantos computadores isso ocorre? (Exemplo: todos os computadores, apenas um computador ou 10computadores e assim por diante.)
Solucionar os problemas de congelamento
Para solucionar os problemas de congelamento, verifique a tabela a seguir e use um ou mais dos métodos de solução de problemas sugeridos.
Estados de computadoresMétodos de resolução de problemas
Um computador em execução em estado congeladoPara um servidor físico ou uma máquina virtual, consulte os métodos aqui.
Um computador que saiu de um estado congeladoPara um computador físico, consulte os métodos aqui.

Para uma máquina virtual, consulte os métodos aqui.

Para o computador ainda em execução em estado congelado

Se o computador físico ou a máquina virtual ainda estiver congelando, use um ou mais dos métodos a seguir para solucionar o problema:

  • Tente acessar o computador via Área de Trabalho Remota, Citrix e assim por diante.
  • Use a conta de domínio ou uma conta de administrador local para fazer logon no computador usando um dos recursos de Acesso Remoto a Console Físico, como o DRAC (Dell Remote Access Car), o iLo (HP Integrated Lights-Out) ou o IBM Remote Supervisor Adapter.
  • Teste o ping no computador. É possível observar o descarte de pacotes e uma alta latência da rede.
  • Acesse compartilhamentos administrativos (\\ServerName\c$).
  • Pressione as teclas Ctrl + Alt + Delete e verifique a resposta.
  • Tente usar ferramentas de Administração Remota, como Gerenciamento do Computador, Gerenciador Remoto do Servidor e Wmimgmt.msc.

Para o computador que saiu de um estado congelado

Se o computador físico ou a máquina virtual tiver congelado, mas agora estiver em execução em um estado satisfatório, use um ou mais dos métodos a seguir para solucionar o problema.

Para um computador físico



  • Reveja os logs do Sistema e de Aplicativo no computador que está apresentando o problema. Você pode começar usando as seguintes IDs de evento:

    ID do Evento: 41
    Origem: Microsoft-Windows-Kernel-Power

    Identificação do Evento: 6008
    Origem: Log de Eventos

  • Gere um relatório de Diagnóstico do Sistema executando o comando perfmon /report.

Para uma máquina virtual

  • Reveja os logs do Sistema e de Aplicativo no computador que está apresentando o problema. Você pode começar usando as seguintes IDs de evento:

    ID do Evento: 41
    Origem: Microsoft-Windows-Kernel-Power

    Identificação do Evento: 6008
    Origem: Log de Eventos

  • Gere um relatório de Diagnóstico do Sistema executando o comando perfmon /report.
  • Verifique o histórico em ferramentas de monitoramento do gerenciamento virtual.

Mais Informações

Coletar dados referentes aos problemas de congelamento

Para coletar dados referentes a um congelamento de servidor, verifique a tabela a seguir e use um ou mais dos métodos sugeridos.
Tipo e estado do computadorMétodo de coleta de dados
Um computador físico em execução em estado congeladoUse um arquivo de despejo de memória para coletar dados. Ou use o método 2, 3 ou 4. Esses métodos estão listados mais adiante nesta seção.
Um computador físico que saiu de um estado congeladoUse o método 1, 2, 3 ou 4. Esses métodos estão listados mais adiante nesta seção. E use o Monitor de Pool para coletar dados.
Uma máquina virtual em execução em estado congeladoHyper-V ou VMware:
Use um arquivo de despejo de memória para coletar dados referentes à máquina virtual que está em execução em estado congelado.

XenServer:
Use o método 1, 2, 3 ou 4. Esses métodos estão listados mais adiante nesta seção.
Uma máquina virtual que saiu de um estado congeladoUse o método 1, 2, 3 ou 4. Esses métodos estão listados mais adiante nesta seção.

Método 1: Despejo de memória

Importante Siga as etapas nesta seção com cuidado. Sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Antes de modificá-lo, faça backup do Registro para restauração em caso de problemas.

Um arquivo de despejo de memória completo registra todo o conteúdo da memória do sistema quando o computador para de responder inesperadamente. Um arquivo de despejo de memória completo pode conter dados de processos que estavam em execução quando ele foi coletado.

Se o computador saiu de um estado congelado e agora está em execução em um estado satisfatório, use as seguintes etapas para habilitar o despejo de memória, para que você possa coletar o despejo de memória quando o problema de congelamento ocorrer novamente. Se a máquina virtual ainda estiver em execução em estado congelado, use as seguintes etapas para habilitar e coletar o despejo de memória.

Observação Se você tiver um recurso de reinicialização habilitado no computador, como o recurso ASR (Recuperação Automatizada do Sistema) em computadores Compaq, desabilite-o. Essa configuração encontra-se normalmente no BIOS. Com esse recurso habilitado, se o BIOS não detectar uma pulsação do sistema operacional, ele reiniciará o computador. O reinício pode interromper o processo de despejo.

  1. Certifique-se de que o computador esteja configurado para obter um arquivo de despejo de memória completo. Para fazer isso, siga estas etapas:
    1. Acesse Propriedades do Sistema > Avançado > Configurações em Desempenho > Avançado e depois verifique ou altere a memória virtual clicando em Alterar.
    2. Retorne para Propriedades do Sistema > Avançado > Configurações em Inicialização e Recuperação.
    3. Na seção Gravando Informações de Depuração, selecione Despejo de Memória Concluído.

      Observação Para versões do Windows anteriores ao Windows 8 ou Windows Server 2012, o tipo Despejo de Memória Concluído não está disponível na GUI. Você precisa alterá-lo no Editor do Registro. Para fazer isso, altere o valor da seguinte entrada do Registro CrashDumpEnabled para 1 (REG_DWORD):
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\CrashDumpEnabled

    4. Selecione Substituir arquivos existentes.
    5. Certifique-se que haja um arquivo de paginação (pagefile.sys) na unidade do sistema e que esse arquivo tenha pelo menos 100 megabytes (MB) a mais do que a RAM instalada (tamanho inicial e máximo).

      Além disso, você pode usar a solução de problemas de limitação de espaço na unidade do sistema do Windows Vista ou do Windows Server 2008.
    6. Certifique-se de que haja mais espaço liberado nas unidades de disco rígido do que RAM física.
  2. Habilite o valor do Registro CrashOnCtrlScroll para permitir que o sistema gere um arquivo de despejo usando o teclado. Para fazer isso, siga estas etapas:
    1. Vá para o Editor do Registro e localize as seguintes chaves do Registro:
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
    2. Crie a seguinte entrada do Registro CrashOnCtrlScroll nas duas chaves do Registro:
      Value Name: CrashOnCtrlScroll   Data Type: REG_DWORD   Value: 1
    3. Saia do Editor do Registro.
    4. Reinicie o computador.
  3. Em alguns computadores físicos, você pode gerar uma NMI (interrupção não mascarável) a partir do recurso de Interface Web (como o DRAC, iLo e o RSA). No entanto, por padrão, essa configuração interromperá o sistema sem criar um despejo de memória.

    Para permitir que o sistema operacional gere um arquivo de despejo de memória em uma interrupção NMI, defina o valor da entrada do Registro NMICrashDump como 1 (REG_DWORD). Em seguida, reinicie o computador para aplicar essa alteração.

    Observação Isso é aplicável somente ao Windows 7, ao Windows Server 2008 R2 e a versões anteriores do Windows. Para o Windows 8, o Windows Server 2012 e versões posteriores do Windows, a chave do Registro NMICrashDump não é mais necessária, e uma interrupção NMI resultará em um erro de Parada após uma coleta de dados de despejo de memória.
  4. Quando o computador apresentar o problema, mantenha pressionada a tecla Ctrl no lado direito e pressione a tecla Scroll Lock duas vezes para gerar um arquivo de despejo de memória.

    Observação Por padrão, o arquivo de despejo está localizado no seguinte caminho:
    %SystemRoot%\MEMORY.DMP

Método 2: Verificação da sanidade dos dados

Use o Utilitário de Verificação de Despejo (Dumpchk.exe) para ler um arquivo de despejo de memória ou verificar se o arquivo foi criado corretamente. Você pode baixar Dumpchk em Ferramentas de depuração para o Windows do Software Development Kit do Windows (SDK do Windows).

Saiba mais sobre como usar Dumpchk.exe para verificar seus arquivos de despejo.

Método 3: Monitor de Desempenho

Você pode usar o Monitor de Desempenho do Windows para examinar como os programas que você executa afetam o desempenho do computador, tanto em tempo real quanto por meio da coleta de dados de log para análise posterior. Para criar coletas de log de rastreamento de eventos e contador de desempenho em sistemas locais e remotos, em um prompt de comando em execução como administrador, execute os seguintes comandos:
Logman create counter LOGNAME_Long -u DOMAIN\USERNAME * -f bincirc -v mmddhhmm -max 500 -c "\\COMPUTERNAME\LogicalDisk(*)\*" "\\COMPUTERNAME\Memory\*" "\\COMPUTERNAME\Network Interface(*)\*" "\\COMPUTERNAME\Paging File(*)\*" "\\COMPUTERNAME\PhysicalDisk(*)\*" "\\COMPUTERNAME\Process(*)\*" "\\COMPUTERNAME\Redirector\*" "\\COMPUTERNAME\Server\*" "\\COMPUTERNAME\System\*" "\\COMPUTERNAME\Terminal Services\*" "\\COMPUTERNAME\Processor(*)\*" "\\COMPUTERNAME\Cache\*" -si 00:05:00
Logman create counter LOGNAME_Short -u DOMAIN\USERNAME * -f bincirc -v mmddhhmm -max 500 -c "\\COMPUTERNAME\LogicalDisk(*)\*" "\\COMPUTERNAME\Memory\*" "\\COMPUTERNAME\Network Interface(*)\*" "\\COMPUTERNAME\Paging File(*)\*" "\\COMPUTERNAME\PhysicalDisk(*)\*" "\\COMPUTERNAME\Process(*)\*" "\\COMPUTERNAME\Redirector\*" "\\COMPUTERNAME\Server\*" "\\COMPUTERNAME\System\*" "\\COMPUTERNAME\Terminal Services\*" "\\COMPUTERNAME\Processor(*)\*" "\\COMPUTERNAME\Cache\*" -si 00:00:10

Em seguida, você pode iniciar ou interromper o log executando os seguintes comandos:
logman start LOGNAME_Long / LOGNAME_Shortlogman stop LOGNAME_Long / LOGNAME_Short
O log do Monitor de Desempenho está localizado no seguinte caminho:
C:\PERFLOGS

Método 4: Diagnóstico de Suporte da Microsoft

  1. Na caixa de pesquisa do Portal de Autoajuda de Diagnóstico de Suporte da Microsoft, digite Diagnóstico de Desempenho do Windows.
  2. Nos resultados da pesquisa, selecione Diagnóstico de Desempenho do Windows e clique em Criar.
  3. Siga as etapas do diagnóstico.

Métodos adicionais para coletar dados

Usar um despejo de memória para coletar dados referentes ao computador físico que está em execução em estado congelado

Importante Siga as etapas nesta seção com cuidado. Sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Antes de modificá-lo, faça backup do Registro para restauração em caso de problemas.

Se o computador físico ainda estiver em execução em estado congelado, siga estas etapas para habilitar e coletar o despejo de memória:
  1. Certifique-se de que o computador esteja configurado para obter um arquivo de despejo de memória completo e que você possa acessá-lo na rede. Para fazer isso, siga estas etapas:

    Observação Se não for possível acessar o computador afetado na rede, tente gerar um arquivo de despejo de memória por meio de uma interrupção NMI. O resultado da ação talvez não colete um arquivo de despejo de memória se algumas das seguintes configurações não estiverem qualificadas.

    1. Tente acessar a área de trabalho do computador de qualquer maneira.

      Observação Caso não seja possível acessar o sistema operacional, tente acessar o Editor do Registro no computador remotamente para verificar o tipo de arquivo de despejo de memória e o arquivo de paginação com os quais o computador está atualmente configurado.
    2. Em um computador remoto que esteja preferencialmente na mesma rede e sub-rede, acesse Editor do Registro > Conectar Registro de Rede. Em seguida, conecte-se ao computador em questão e verifique as seguintes configurações:
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\CrashDumpEnabled

        Verifique se a entrada do Registro CrashDumpEnabled é 1.
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\NMICrashDump

        Em alguns servidores físicos, se a entrada do Registro NMICrashDump existir e seu valor for 1, você poderá tirar proveito da NMI nos recursos de gerenciamento remoto (como o DRAC, o iLo e o RSA).
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles and ExistingPageFiles

        Se o valor da entrada do Registro do arquivo de paginação for gerenciado pelo sistema, o tamanho não se refletirá no registro (Valor de exemplo: ?:\pagefile.sys).

        Se o arquivo de paginação for personalizado, o tamanho será refletido no Registro, como ‘?:\pagefile.sys 1024 1124’, em que 1024 é o tamanho inicial e 1124 é o tamanho máximo.

        Observação Se o tamanho não estiver refletido no Registro, tente acessar um compartilhamento de Administrador no qual o arquivo de paginação esteja localizado (como \\ServerName\C$).
    3. Certifique-se que haja um arquivo de paginação (pagefile.sys) na unidade do sistema do computador e que esse arquivo tenha pelo menos 100 MB a mais do que a RAM instalada.
    4. Certifique-se de que haja mais espaço liberado nas unidades de disco rígido do computador do que RAM física.
  2. Habilite o valor do Registro CrashOnCtrlScroll no computador para permitir que o sistema gere um arquivo de despejo usando o teclado. Para fazer isso, siga estas etapas:
    1. Em um computador remoto preferencialmente na mesma rede e sub-rede, acesse Editor do Registro > Conectar Registro de Rede. Conecte-se ao computador em questão e localize as seguintes chaves do Registro:
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
    2. Crie a seguinte entrada do Registro CrashOnCtrlScroll nas duas chaves do Registro:
      Value Name: CrashOnCtrlScroll   Data Type: REG_DWORD   Value: 1
    3. Saia do Editor do Registro.
    4. Reinicie o computador.
  3. Quando o computador apresentar o problema, mantenha pressionada a tecla CTRL no lado direito e pressione a tecla Scroll Lock duas vezes para gerar um despejo de memória.

    Observação Por padrão, o arquivo de despejo está localizado no seguinte caminho:
    %SystemRoot%\MEMORY.DMP

Usar o Monitor de Pool para coletar dados referentes ao computador físico que saiu de um estado congelado

O Monitor de Pool mostra o número de alocações e bytes pendentes de alocação por tipo de pool, bem como a marca que é transmitida em chamadas de ExAllocatePoolWithTag.

Saiba mais sobre como usar o Monitor de Pool e como usar os dados para solucionar problemas de vazamento de pool.

Usar um despejo de memória para coletar dados referentes à máquina virtual que está em execução em estado congelado

Use um dos seguintes métodos para o aplicativo no qual a máquina virtual está em execução.

Microsoft Hyper-V
Se a máquina virtual estiver executando o Windows 8, o Windows Server 2012 ou uma versão posterior do Windows no Microsoft Hyper-V Server 2012, você poderá usar o recurso NMI interno por meio de um cmdlet Debug-VM para depurar e obter um despejo de memória.

Para depurar as máquinas virtuais no Hyper-V, execute o seguinte cmdlet no Windows PowerShell:
Debug-VM -Name "VM Name" -InjectNonMaskableInterrupt -ComputerName Hostname

Observação Esse método é aplicável somente ao Windows 8, ao Windows Server 2012 e a versões posteriores de máquinas virtuais Windows. Para as versões anteriores do Windows, consulte os métodos de 1 a 4 que estão descritos anteriormente nesta seção.

VMware
Você pode usar Snapshots VMware ou suspender o estado e extrair um arquivo de despejo de memória equivalente a um arquivo de despejo de memória completo. Usando a Checkpoint To Core Tool (vmss2core), é possível converter arquivos de estado de suspensão (.vmss) e instantâneo (.vmsn) em um arquivo de despejo e, em seguida, analisar esse arquivo usando as ferramentas de depuração padrão do Windows.

Citrix XenServer
O processo de despejo de memória ocorre pressionando a combinação de teclas CTRL direito + SCROLL LOCK + SCROLL LOCK descrita no Método 1 e no site da Citrix.


Limitações de espaço na unidade do sistema do Windows Vista e do Windows Server 2008

No Windows Vista ou Windows Server 2008, você pode não ter espaço em disco livre suficiente para gerar um arquivo de despejo de memória completo no volume do sistema. Há um hotfix que permite a coleta de dados mesmo que não haja espaço suficiente na unidade de sistema para armazenar o arquivo de despejo de memória.

Além disso, no Windows Vista e Windows Server 2008 Service Pack (SP2), há uma segunda opção quando a unidade do sistema não tem espaço suficiente. Isto é, você pode usar a entrada do Registro DedicatedDumpFile. Para saber como usar a entrada do Registro, consulte Novo comportamento no Windows Vista e Windows Server 2008.

Para obter mais informações, consulte Como usar o valor do registro DedicatedDumpFile para superar limitações de espaço na unidade do sistema.
Aviso de isenção de responsabilidade para informações de terceiros

Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.
Propriedades

ID do Artigo: 3118553 - Última Revisão: 10/27/2016 07:27:00 - Revisão: 4.0

Windows Server 2016, Windows 10, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Foundation, Windows Server 2012 R2 Essentials, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8.1, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows 8 Enterprise, Windows 8 Pro, Windows 8, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Foundation, Windows 7 Ultimate, Windows 7 Professional, Windows 7 Enterprise, Windows 7 Home Premium, Windows 7 Home Basic, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard, Windows Server 2008 Foundation, Windows Vista Ultimate, Windows Vista Enterprise, Windows Vista Business, Windows Vista Home Premium, Windows Vista Home Basic

  • kbprb kbtshoot kbexpertiseadvanced kbsurveynew KB3118553
Comentários