Compartilhar via


Despejo de memória dinâmica 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 se soma à 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 dinâmico contém uma instantâneo consistente de memória de kernel (e, opcionalmente, outros tipos de memória) e a salva em um arquivo de despejo. Ao contrário de outros métodos para gerar manualmente um despejo de memória do 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 ativo 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 o hipervisor e as páginas de usuário estão disponíveis para despejos completos de kernel dinâmico. Como alternativa, um despejo de memória de pilhas de Kernel é um arquivo menor, limitado aos estados do processador de kernel e a todas as pilhas de threads de kernel.

Para obter informações gerais sobre despejos de memória de kernel dinâmico, consulte Referência de código de despejo de memória dinâmica 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 Windows Insider Preview no Canary Channel (Build 25276 e superior) e no Canal de Desenvolvimento (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 do sistema .

  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 suspenso, 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 do usuário de despejo de memória ao vivo do Gerenciador de Tarefas.

Criando um despejo de memória para um processo de 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 Arquivos de despejo no modo de usuário.

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 anular se a pressão de memória for selecionada, o processo de despejo dinâmico 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 dinâmico na capacidade de resposta do sistema.

As configurações do 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 ao Hyper-V e às máquinas virtuais. Para obter mais informações, consulte Hyper-V no Windows.

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

Capturar Páginas do Usuário

Habilite Capturar Páginas de Usuário se o problema que você está solucionando exigir memória do modo de usuário.

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

Local do arquivo de despejo de memória dinâmica

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 de kernel dinâmico

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 no modo de usuário dinâmico

Os arquivos de despejo de memória no modo de usuário dinâmico são armazenados no diretório %localappdata%\Temp, 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 dinâmica retornar um erro, marcar 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 do kernel dinâmico seja bem-sucedida, mas pode não conter o conteúdo completo da memória. A captura requer temporariamente memória física gratuita suficiente disponível para manter 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 do modo de usuário e hyper-V pode aumentar a quantidade de memória que pode ser salva no arquivo de despejo.

Analisando arquivos de despejo de memória dinâmica

Quando ocorre um despejo de memória dinâmica, 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 de 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 marcar de bug para um despejo de memória ao vivo do Gerenciador de Tarefas é 0x161 de Verificação de Bugs: LIVE_SYSTEM_DUMP.

Confira também