Compartilhar via


Despejo de memória ao vivo do Gerenciador de Tarefas

Visão geral

O Gerenciador de Tarefas pode ser usado para criar um despejo de memória de kernel dinâmico. Isso é além da capacidade existente de usar o Gerenciador de Tarefas para criar um despejo de memória de um processo específico.

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

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

A opção de criar um despejo de memória de kernel dinâmico está disponível no processo do sistema , semelhante a como uma opção para criar um arquivo de despejo de memória está disponível em processos de modo de usuário.

Um despejo de memória de kernel dinâmico completo contém memória de kernel ativa, com inclusão opcional de memória do hipervisor e memória do modo de usuário. As opções para capturar páginas do hipervisor e do usuário estão disponíveis para despejos completos de kernel ativo. 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 e foi disponibilizado pela primeira vez em builds do Windows Insider Preview no Canary Channel (Build 25276 e superior) e Dev Channel (Build 23419 e superior) e, em julho de 2023, está disponível no build do sistema operacional Windows 22621.1992 e posterior.

Criar um despejo de memória de kernel dinâmico do sistema usando o Gerenciador de Tarefas

Para capturar um despejo de memória de kernel dinâmico usando o Gerenciador de Tarefas, conclua as etapas a seguir.

  1. Inicie o Gerenciador de Tarefas do Windows.

  2. Navegue até processos ou detalhes.

  3. Localize o processo System.

  4. Clique com o botão direito do mouse e selecione Criar arquivo de despejo de memória de kernel dinâmico.

  5. No menu de pull para baixo, selecione um despejo de memória de kernel dinâmico completo ou um despejo de memória do Kernel Stacks.

Captura de tela da interface de usuário do Gerenciador de Tarefas para despejo de memória em tempo real.

Criando um dump de memória para um processo em modo de usuário

Um procedimento semelhante é usado no Gerenciador de Tarefas para criar um despejo de memória de um processo. Realce o processo de modo de usuário desejado e 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 no modo de usuário, consulte User-Mode Arquivos de Despejo.

Opções avançadas do arquivo de despejo de memória do kernel dinâmico

As opções de arquivo de despejo de memória do kernel dinâmico estão disponíveis nas configurações do Gerenciador de Tarefas.

Captura de tela da interface do usuário de opções avançadas de despejo de memória ao vivo do Gerenciador de Tarefas.

O botão superior reverterá as configurações de despejo de memória do kernel dinâmico para seus padrões.

Quando a opção abortar em caso de pressão de memória for selecionada, o processo de despejo em tempo real será interrompido se a disponibilidade de memória não for considerada suficiente. Essa é a configuração padrão para minimizar o impacto potencial da captura do despejo de kernel em tempo real na capacidade de resposta do sistema.

As configurações de arquivo de despejo de memória dinâmica do Kernel fornecem várias opções para quais informações 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 do usuário

Adicionar informações adicionais ao arquivo de despejo aumenta seu tamanho e usará memória adicional à medida que o despejo de memória estiver sendo registrado.

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 usadas pelo hipervisor para dar suporte a Hyper-V e máquinas virtuais. Para obter mais informações , consulteHyper-V no Windows.

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

Capturar páginas de usuário

Habilite Capture User Pages se o problema que você está solucionando exigir memória no modo de usuário.

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

Local do arquivo de despejo de memória ao vivo

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

Despejos de memória ativos do kernel

Os despejos de memória do kernel dinâmico por padrão são armazenados aqui.

%LocalAppData%\Microsoft\Windows\TaskManager\LiveKernelDumps

%LocalAppData% normalmente C:\Users\<YourUserName>\AppData\Local\

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

Os arquivos de despejo de memória no modo de usuário dinâmico são armazenados no diretório \Temp do %localappdata%, que normalmente está localizado no diretório Usuários.

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

Solução de problemas ao fazer um despejo de memória ao vivo

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

  • O Gerenciador de Tarefas precisa ser executado como um usuário de nível de administrador.

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

  • Aguarde até que qualquer despejo solicitado seja concluído antes de fazer despejos de memória adicionais.

  • É possível que a criação do despejo de memória ao vivo do kernel seja bem-sucedida, mas talvez não contenha todo o conteúdo da memória. A captura temporariamente requer memória física livre suficiente disponível para armazenar uma cópia da memória que vai ser gravada no arquivo de despejo. Fechar aplicativos desnecessários ou desabilitar a captura de páginas de memória do hyper-V e do 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 ativa

Quando ocorre um despejo de memória ao vivo, o arquivo de despejo pode ser analisado 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, o conhecimento dos registros de memória do processador e da programação do assembly normalmente é necessário. Além disso, o acesso ao código-fonte com falha permitirá que o problema seja corrigido pelo desenvolvedor.

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 é Verificação de Bug 0x161: LIVE_SYSTEM_DUMP.

Consulte também