Partilhar via


Despejo de memória ao vivo do Gerenciador de Tarefas

Visão geral

Use o Gerenciador de Tarefas para criar um despejo de memória do kernel ao vivo. Esse recurso complementa a capacidade existente do Gerenciador de Tarefas de criar um despejo de memória para um processo específico.

Um despejo de memória do kernel ao vivo contém um instantâneo consistente da memória do kernel e, opcionalmente, outros tipos de memória. Ele salva esse instantâneo em um arquivo de despejo. Ao contrário de outros métodos para gerar manualmente um despejo de memória do kernel, este método não causa uma falha do sistema.

Programadores com acesso aos arquivos de símbolos e código-fonte apropriados podem analisar o arquivo de despejo para examinar o estado do sistema e diagnosticar problemas.

Você pode criar um despejo ao vivo da memória do kernel a partir do processo Sistema. Esse processo é semelhante a como você pode criar um arquivo de despejo de memória para processos de modo de usuário.

Um despejo de memória de kernel ao vivo completo contém memória de kernel ativa, com inclusão opcional de memória de hipervisor e memória de modo de usuário. As opções para capturar hipervisor e páginas de utilizador estão disponíveis para dumps completos do kernel em tempo real. Como alternativa, um despejo de memória de pilhas do kernel é um arquivo menor, limitado aos estados do processador do kernel e a todas as pilhas de threads do kernel.

Para obter informações gerais sobre despejos de memória de kernel ao vivo, consulte Referência de código de despejo de memória ao vivo do kernel.

O recurso de despejo ao vivo do Gerenciador de Tarefas foi lançado no início de 2023. Ele foi disponibilizado pela primeira vez nas compilações do Windows Insider Preview no Canary Channel (Build 25276 e superior) e no Dev Channel (Build 23419 e superior). Em julho de 2023, ele ficou disponível na compilação 22621.1992 do sistema operacional Windows e posterior.

Criar um despejo de memória de kernel ao vivo do sistema usando o Gerenciador de Tarefas

Para capturar um despejo de memória do kernel ao vivo usando o Gerenciador de Tarefas, conclua as etapas a seguir.

  1. Inicie o Gestor de Tarefas do Windows.

  2. Vá para Processos ou Detalhes.

  3. Encontre o processo do sistema.

  4. Clique com o botão direito do mouse no processo e selecione Criar arquivo de despejo de memória do kernel ao vivo.

  5. No menu suspenso, selecione um despejo de memória de kernel ao vivo completo ou um despejo de memória de pilhas de kernel.

Captura de tela do Gerenciador de Tarefas mostrando o processo do Sistema com um menu de contexto exibindo as opções de despejo de memória do kernel ao vivo completo e de despejo de memória do Kernel Stacks.

Criar um despejo de memória para um processo de modo de usuário

Use um procedimento semelhante no Gerenciador de Tarefas para criar um despejo de memória de um processo. Realce o processo de modo de usuário desejado e, em seguida, clique com o botão direito do mouse e selecione Criar arquivo de despejo de memória. Para obter mais informações sobre arquivos de despejo em modo utilizador, consulte User-Mode Arquivos de Despejo.

Opções avançadas do arquivo de despejo de memória do kernel ao vivo

Você pode encontrar as opções do arquivo de despejo de memória do kernel ao vivo nas configurações do Gerenciador de Tarefas.

Captura de ecrã das definições do Gestor de Tarefas a mostrar opções avançadas de despejo de memória do kernel em tempo real, incluindo as caixas de verificação Capturar páginas de memória do hipervisor e Capturar páginas de utilizador.

O botão superior reverte as configurações de despejo de memória ativa do kernel para os padrões predefinidos.

Quando seleciona a opção Abortar se houver pressão de memória, o processo de despejo ativo é interrompido se a disponibilidade de memória não for suficiente. Esta configuração padrão minimiza o impacto potencial da captura do dump ao vivo do kernel na responsividade do sistema.

As definições do arquivo de despejo de memória em tempo real do kernel oferecem várias opções sobre as informações a incluir no despejo de memória.

  • Capturar páginas de memória do hipervisor (com ou sem páginas não essenciais)
  • Capturar páginas de usuário

Adicionar informações extras ao arquivo de despejo aumenta seu tamanho e usa mais memória à medida que o despejo de memória está sendo gravado.

Capturar páginas de memória do hipervisor

Selecione a opção Capturar páginas de memória do hipervisor para capturar regiões de memória que o hipervisor usa para dar suporte a máquinas Hyper-V e virtuais. Para obter mais informações, consulte Hyper-V no Windows.

Você pode optar por incluir ou não incluir páginas de memória de hipervisor não essenciais.

Capturar páginas de usuário

Habilite a opção Capturar páginas de usuário se o problema que você está solucionando exigir memória no modo de usuário.

Para obter informações gerais sobre a memória do Windows e o uso da página, consulte Windows Internals por Pavel Yosifovich, Alex Ionescu, Mark Russinovich e David Solomon.

Local do arquivo de despejo de memória em tempo real

Quando o despejo de memória é concluído, aparece uma caixa de diálogo que fornece o local do arquivo de despejo .dmp de memória. Selecione Abrir local do arquivo para abrir a pasta.

Despejos de memória do kernel em tempo real

Por padrão, os despejos de memória do kernel em tempo real são armazenados no seguinte local:

%LocalAppData%\Microsoft\Windows\TaskManager\LiveKernelDumps

%LocalAppData% é tipicamente C:\Users\<YourUserName>\AppData\Local\

Despejos de memória em modo de usuário em tempo real

Os arquivos de despejo de memória do modo de utilizador ao vivo são armazenados no diretório %localappdata%\Temp, que normalmente está localizado no diretório de utilizadores.

C:\Users\<YourUserName>\AppData\Local\Temp

Resolução de problemas ao efetuar um despejo de memória ao vivo

Se o despejo de memória ativa retornar um erro, verifique a mensagem de erro para obter detalhes. Por exemplo:

  • O Gestor de Tarefas tem de estar a ser executado como um utilizador de nível de administrador.

  • Com problemas de tempo limite, tente fazer o despejo novamente em alguns minutos.

  • Aguarde a conclusão de qualquer despejo solicitado antes de fazer qualquer despejo de memória adicional.

  • É possível que a criação do despejo ao vivo da memória do kernel seja bem-sucedida, mas pode não conter todo o conteúdo da memória. A captura requer temporariamente memória física livre disponível suficiente para armazenar uma cópia da memória a ser gravada no arquivo de despejo. Fechar aplicativos desnecessários ou desabilitar a captura de páginas de memória Hyper-V e de modo de usuário pode aumentar a quantidade de memória que pode ser salva no arquivo de despejo.

Analisando arquivos de despejo de memória ao vivo

Quando ocorre um despejo de memória ativa, você pode analisar o arquivo de despejo usando as mesmas técnicas usadas para outros arquivos de despejo de memória. Para entender o conteúdo da memória durante uma falha, você normalmente precisa ter conhecimento de registros de memória do processador e programação de montagem. Além disso, o acesso ao código-fonte com falha permite que o desenvolvedor corrija o problema.

Para obter mais informações, consulte:

Código de verificação de bugs: 0x161 - LIVE_SYSTEM_DUMP

O código de verificação de bug para um despejo de memória ao vivo do Gerenciador de Tarefas é Bug Check 0x161: LIVE_SYSTEM_DUMP.

Ver também