Como Perfilar um Processo com o Boot Logging do Sysinternals Procmon no Windows 11
🔍 WiseChecker

Como Perfilar um Processo com o Boot Logging do Sysinternals Procmon no Windows 11

Quando um programa ou serviço deixa a inicialização do Windows 11 lenta, você precisa de uma ferramenta que capture toda atividade do sistema de arquivos, registro e processos durante a inicialização. O recurso Boot Logging do Sysinternals Procmon registra todas as operações desde o momento em que o sistema inicia até você parar o rastreamento. Este artigo explica como configurar, executar e analisar um log de inicialização do Procmon para identificar a causa raiz de um processo lento ou com mau comportamento. Você aprenderá as etapas exatas para habilitar o boot logging, reproduzir o problema e filtrar os dados para encontrar o culpado.

Principais Conclusões: Perfilando um Processo com Boot Logging do Procmon

  • Procmon.exe /AcceptEula /NoConnect /LoadConfig: Esses argumentos de linha de comando permitem configurar o boot logging automaticamente sem interação do usuário.
  • Procmon /BackingFile <caminho>.pml: Salva o rastreamento de inicialização diretamente em um arquivo PML no disco, preservando todos os dados para análise posterior.
  • Habilitar Boot Logging no Process Monitor: Ativar essa configuração no menu Options faz com que o Procmon comece a capturar na próxima reinicialização do sistema.

ADVERTISEMENT

O que o Boot Logging do Procmon Captura e Por Que Você Precisa Dele

O Boot Logging do Procmon registra todas as operações que o Process Monitor vê desde o momento em que o Windows 11 inicia até você parar a captura. Isso inclui leituras e gravações de arquivos, acesso a chaves do registro, criação de processos, atividade de threads e operações de rede. Sessões normais do Procmon começam após você iniciar a ferramenta, perdendo toda a atividade de inicialização. O boot logging resolve isso fazendo com que o Procmon inicie automaticamente durante a inicialização, antes que a maioria dos serviços e aplicativos seja executada.

O recurso é útil quando você suspeita que um driver, um programa de inicialização ou um serviço do Windows está causando atraso ou travamento durante a inicialização. Por exemplo, um antivírus de terceiros pode escanear cada chamada de registro, ou um serviço mal configurado pode travar esperando por um recurso de rede. O log de inicialização mostra exatamente qual processo fez cada chamada, quanto tempo levou e qual foi o resultado.

Pré-requisitos para o Boot Logging

Você precisa de privilégios administrativos no Windows 11 para executar o Procmon com boot logging. A ferramenta em si é um único arquivo executável — não requer instalação. Baixe a versão mais recente do Process Monitor no site oficial da Microsoft Sysinternals. Salve-o em uma pasta como C:\Tools ou na área de trabalho. O boot logging também requer que o sistema Windows 11 possa reiniciar normalmente; se o sistema não inicializar, use o Ambiente de Recuperação do Windows.

Como o Boot Logging Funciona Internamente

Quando você habilita o boot logging, o Procmon grava um driver e um arquivo de configuração na unidade do sistema. Na próxima reinicialização, o driver é carregado no início do processo de inicialização e começa a capturar eventos em um buffer circular. Após fazer login e iniciar o Procmon novamente, a ferramenta lê o buffer e o salva como um arquivo PML. Se você especificar um caminho de arquivo de apoio, o Procmon grava diretamente no disco sem limite de buffer, o que é melhor para capturas longas.

Passos para Habilitar o Boot Logging do Procmon no Windows 11

Siga estas etapas para configurar e executar um rastreamento de inicialização usando o Process Monitor. O procedimento funciona de forma idêntica no Windows 10 e no Windows 11.

  1. Baixe e inicie o Process Monitor como administrador
    Abra a página do Sysinternals Process Monitor no seu navegador e baixe o Procmon.exe. Clique com o botão direito no arquivo e selecione Executar como administrador. Aceite o EULA se solicitado.
  2. Abra a caixa de diálogo de configuração do Boot Logging
    No Process Monitor, vá em Options > Enable Boot Logging. Uma caixa de diálogo aparece com várias configurações.
  3. Defina o caminho do arquivo de apoio para o log
    Na caixa de diálogo, marque a opção Write events to a backing file. Insira um caminho completo como C:\ProcmonBoot.pml. Isso garante que o log seja salvo no disco mesmo se o buffer transbordar. Deixe as opções Generate thread events e Enable stack capture desmarcadas, a menos que você precise de dados detalhados de thread.
  4. Confirme e reinicie o sistema
    Clique em OK. Uma mensagem informa que o boot logging está habilitado. Clique em Yes para reiniciar o Windows 11 imediatamente. Se precisar salvar o trabalho, clique em No e reinicie manualmente mais tarde.
  5. Reproduza o problema durante a inicialização
    Após a reinicialização, o Windows 11 inicia normalmente. O Procmon começa a capturar desde o início do processo de inicialização. Execute qualquer ação que acione o problema — por exemplo, inicie o aplicativo lento ou aguarde a ocorrência do travamento.
  6. Pare o rastreamento de inicialização e abra o log
    Faça login no Windows 11. Inicie o Process Monitor novamente como administrador. Vá em Options > Enable Boot Logging e desmarque a opção. Clique em OK. O Procmon solicita que você salve os eventos capturados. Escolha Save para manter o arquivo PML no caminho especificado anteriormente.
  7. Analise o log com filtros
    Abra o arquivo PML via File > Open. Use o menu Filter para restringir os eventos por nome do processo, tipo de operação, caminho ou duração. Por exemplo, filtre por Process Name = seu programa alvo para ver apenas a atividade dele.

ADVERTISEMENT

Analisando o Log de Inicialização para Perfilar um Processo Específico

Depois de abrir o arquivo PML, você precisa isolar o processo que deseja perfilar. O Procmon captura dezenas de milhares de eventos por segundo, então filtrar é essencial.

  1. Defina um filtro de processo
    Vá em Filter > Filter. Na caixa de diálogo, defina o primeiro menu suspenso como Process Name, o segundo como is e digite o nome exato do executável, como chrome.exe. Clique em Add e depois OK. A exibição agora mostra apenas eventos desse processo.
  2. Identifique operações lentas usando a coluna Duration
    Se a coluna Duration não estiver visível, clique com o botão direito em qualquer cabeçalho de coluna e selecione Select Columns. Marque Duration e clique OK. Classifique por Duration em ordem decrescente para ver as operações mais longas. Uma duração acima de 1000 milissegundos indica um possível gargalo.
  3. Procure por operações com falha
    Filtre por Result is not SUCCESS. Operações de registro ou arquivo com falha podem causar repetições e atrasos. Códigos de falha comuns incluem NAME NOT FOUND, ACCESS DENIED e BUFFER OVERFLOW.
  4. Revise a pilha de chamadas de uma operação lenta
    Clique duas vezes em um evento de longa duração. Na janela Event Properties, clique na guia Stack. A pilha mostra qual driver ou DLL estava em execução quando a operação ocorreu. Isso ajuda a identificar um driver de terceiros como a causa.
  5. Exporte os dados filtrados
    Selecione File > Export > Export All to CSV se precisar analisar os dados no Excel ou em outra ferramenta. Escolha um nome de arquivo significativo e salve.

Erros Comuns e Limitações ao Usar o Boot Logging

O arquivo PML é muito grande para abrir

Um rastreamento completo de inicialização pode exceder 2 GB. O Procmon pode ficar sem memória ao carregar esse arquivo. Para evitar isso, defina um limite menor para o arquivo de apoio na caixa de diálogo de boot logging ou use o parâmetro de linha de comando /MaxFileSize. Alternativamente, filtre o rastreamento enquanto ele ainda está sendo capturado, habilitando apenas os tipos de operação necessários via Options > Enable Boot Logging e selecionando tipos de evento específicos.

O Procmon não começa a capturar na inicialização

Se o boot logging estiver habilitado, mas nenhum evento aparecer após a reinicialização, o driver do Procmon pode não ter carregado. Verifique se o executável do Procmon está em uma unidade NTFS local, não em um local de rede ou unidade removível. Além disso, verifique se o Secure Boot não está bloqueando o driver. Em casos raros, o software antivírus pode impedir o carregamento do driver. Desative temporariamente a proteção em tempo real e tente novamente.

O log de inicialização contém eventos de apenas uma sessão de inicialização

O boot logging do Procmon captura apenas a próxima inicialização após você habilitá-lo. Se você reiniciar novamente sem desabilitar o boot logging, a segunda inicialização sobrescreverá o buffer anterior. Para capturar várias inicializações, salve o log após cada sessão e reabilite o boot logging antes da próxima reinicialização.

ADVERTISEMENT

Boot Logging via Linha de Comando vs Configuração pela Interface Gráfica

Item Método GUI Método Linha de Comando
Configuração Options > Enable Boot Logging Procmon.exe /AcceptEula /NoConnect /LoadConfig
Arquivo de apoio Definir caminho na caixa de diálogo Procmon.exe /BackingFile C:\Log.pml
Iniciar captura Clique em OK e reinicie O mesmo — reinicialização é necessária
Parar captura Desabilitar boot logging pela GUI Executar Procmon.exe /Terminate
Uso de memória Buffer padrão na RAM Especificar /MaxFileSize para limitar o uso de disco

O método de linha de comando é melhor para scripts ou solução de problemas remota. Você pode criar um arquivo batch que habilita o boot logging, reinicia o computador e depois para o rastreamento automaticamente. O método GUI é mais simples para uso único, mas requer interação manual após a inicialização.

Conclusão

Agora você pode perfilar qualquer processo durante a inicialização do Windows 11 usando o boot logging do Sysinternals Procmon. As principais etapas são habilitar o recurso no menu Options, definir um caminho de arquivo de apoio, reiniciar, reproduzir o problema e filtrar o arquivo PML resultante por nome do processo e duração. Use a coluna Duration e a guia Stack para identificar chamadas lentas de driver ou operações com falha. Para capturas repetidas, automatize o processo com parâmetros de linha de comando como /BackingFile e /Terminate. Este método funciona tanto no Windows 11 quanto no Windows 10 e fornece uma visão completa do comportamento durante a inicialização.

ADVERTISEMENT