Corrigir vazamento de memória NDU.sys relatado no Perfmon no Windows 11
🔍 WiseChecker

Corrigir vazamento de memória NDU.sys relatado no Perfmon no Windows 11

Você abre o Monitor de Desempenho Perfmon no Windows 11 e vê que o NDU.sys está consumindo uma quantidade anormalmente alta de memória do pool não paginado. Esse vazamento de memória pode causar lentidão no sistema, travamentos de aplicativos e até erros de tela azul com o tempo. A causa raiz é o driver Network Diagnostic Usage NDU, que coleta telemetria sobre o uso da rede e às vezes não libera a memória alocada. Este artigo explica por que o NDU.sys vaza memória e fornece quatro métodos testados para parar o vazamento e recuperar o desempenho do sistema.

Principais conclusões: Parando o vazamento de memória do NDU.sys no Windows 11

  • Perfmon > Memória > Pool Não Paginado > NDU.sys: Confirma o vazamento mostrando o NDU.sys usando centenas de MB de memória do pool não paginado.
  • Services.msc > Diagnostic Policy Service > Parar e Desabilitar: Para o serviço DPS que carrega o NDU.sys, liberando a memória vazada imediatamente.
  • Registro > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDU > Start = 4: Desabilita o driver NDU permanentemente na inicialização, impedindo que o vazamento retorne.
  • Prompt de Comando > sc config NDU start=disabled: Método alternativo via linha de comando para desabilitar o driver NDU sem editar o registro.

ADVERTISEMENT

Por que o NDU.sys vaza memória no Windows 11

NDU.sys é o driver em modo kernel do componente Network Diagnostic Usage no Windows 11. Sua função é rastrear o uso de dados de rede por aplicativo para que o sistema possa exibir estatísticas de rede no Gerenciador de Tarefas e nas Configurações. O driver aloca memória do pool não paginado para armazenar contadores de rede por processo. Em algumas versões do Windows 11, um bug no driver faz com que ele não libere essa memória quando um processo monitorado é encerrado. Com o passar de horas ou dias, a memória do pool vazada cresce sem limites.

Você pode verificar o vazamento usando o Monitor de Desempenho Perfmon. Abra o Perfmon, expanda Memória, selecione Bytes do Pool Não Paginado e adicione o processo NDU.sys ao gráfico. Se o NDU.sys mostrar uma contagem de memória em constante aumento que nunca cai, o vazamento está ativo. Um sistema saudável mostra o NDU.sys usando menos de 50 MB de pool não paginado. Um sistema com vazamento pode mostrar 500 MB ou mais, fazendo com que o sistema fique sem memória disponível.

Quatro métodos para parar o vazamento de memória do NDU.sys

A maneira mais direta de parar o vazamento é desabilitar o driver NDU ou os serviços que o carregam. Os métodos a seguir estão ordenados do menos ao mais invasivo. O Método 1 e o Método 2 são reversíveis e não exigem reinicialização. O Método 3 e o Método 4 impedem que o driver seja carregado na inicialização e exigem uma reinicialização para fazer efeito.

Método 1: Parar o Diagnostic Policy Service no Services.msc

O Diagnostic Policy Service DPS é o serviço em modo de usuário que interage com o NDU.sys. Parar o DPS faz com que o NDU.sys libere suas alocações de memória. Esta é a correção mais rápida e não requer reinicialização.

  1. Abra o Console de Serviços
    Pressione Win + R, digite services.msc e pressione Enter. Clique em Sim se solicitado pelo Controle de Conta de Usuário.
  2. Localize o Diagnostic Policy Service
    Role para baixo até Diagnostic Policy Service. O nome do serviço é DPS e seu status aparece na coluna Status.
  3. Pare o Serviço
    Clique com o botão direito em Diagnostic Policy Service e selecione Parar. O serviço para imediatamente. O uso de memória do NDU.sys cai em até 30 segundos conforme o driver libera seu pool.
  4. Verifique a Correção no Perfmon
    Abra o Perfmon novamente e verifique o contador de Bytes do Pool Não Paginado para NDU.sys. O valor deve diminuir rapidamente para um nível normal abaixo de 50 MB.

Método 2: Desabilitar o Diagnostic Policy Service Permanentemente

Se o vazamento retornar após uma reinicialização, desabilite o serviço DPS permanentemente. Isso impede que o NDU.sys seja carregado.

  1. Abra o Console de Serviços
    Pressione Win + R, digite services.msc e pressione Enter.
  2. Abra as Propriedades do DPS
    Clique com o botão direito em Diagnostic Policy Service e selecione Propriedades.
  3. Altere o Tipo de Inicialização para Desabilitado
    Na guia Geral, clique no menu suspenso Tipo de inicialização e selecione Desabilitado. Clique em Aplicar e depois em OK.
  4. Reinicie o Windows 11
    Reinicie o sistema. Após a reinicialização, o NDU.sys não carrega e o vazamento não ocorre.

Nota: Desabilitar o DPS desabilita os serviços de diagnóstico e telemetria do Windows. As estatísticas de uso de rede no Gerenciador de Tarefas podem parar de atualizar. Este é um trade-off pela estabilidade.

Método 3: Desabilitar o Driver NDU via Registro

Este método atinge diretamente o driver kernel NDU. É mais preciso do que desabilitar o DPS, pois afeta apenas o NDU.sys e deixa outros componentes de diagnóstico em execução.

  1. Abra o Editor do Registro
    Pressione Win + R, digite regedit e pressione Enter. Clique em Sim quando o UAC solicitar.
  2. Navegue até a Chave do Driver NDU
    Vá para HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDU. Cole este caminho na barra de endereços ou navegue manualmente.
  3. Modifique o Valor Start
    Clique duas vezes no DWORD Start no painel direito. Altere os Dados do valor de 1 para 4. O valor 1 significa que o driver carrega automaticamente. O valor 4 significa que o driver está desabilitado.
  4. Reinicie o Windows 11
    Feche o Editor do Registro e reinicie o sistema. Após a reinicialização, o NDU.sys não é carregado.

Método 4: Desabilitar o Driver NDU Usando o Prompt de Comando

Para usuários que preferem a linha de comando, a ferramenta sc pode desabilitar o driver NDU sem mexer diretamente no registro.

  1. Abra o Prompt de Comando como Administrador
    Pressione Win + S, digite cmd, clique com o botão direito em Prompt de Comando e selecione Executar como administrador. Clique em Sim.
  2. Desabilite o Driver NDU
    Digite o seguinte comando e pressione Enter:
    sc config NDU start=disabled
    Observe o espaço após o sinal de igual. O comando retorna uma mensagem de sucesso se a alteração for aceita.
  3. Reinicie o Windows 11
    Reinicie o sistema. O driver NDU não carrega mais na inicialização.

ADVERTISEMENT

Se o vazamento de memória do NDU.sys continuar após desabilitar o driver

Em casos raros, desabilitar o NDU.sys não resolve o vazamento porque outro componente reativa o driver ou um driver diferente causa o mesmo sintoma. Os cenários a seguir cobrem casos extremos.

NDU.sys ainda mostra alta memória após desabilitar o DPS

Se você parou o DPS mas a memória do NDU.sys não cai, o driver pode estar sendo mantido aberto por uma ferramenta de monitoramento de rede de terceiros. Desinstale qualquer software de monitoramento de rede de terceiros, como NetBalancer, GlassWire ou Wireshark. Após a remoção, repita o Método 1 ou o Método 3.

Windows Update reativa o driver NDU

Uma atualização cumulativa do Windows 11 pode redefinir o valor Start do driver NDU para 1. Após instalar uma atualização do Windows, verifique a chave do registro em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDU. Se Start for 1, defina-o novamente para 4 usando o Método 3 ou Método 4.

Perfmon mostra um driver diferente vazando memória

Se o vazamento de memória persistir mas o Perfmon mostrar um driver diferente, como WdiWiFi.sys ou tcpip.sys, o problema não é o NDU.sys. Execute a ferramenta Diagnóstico de Memória do Windows para verificar problemas de hardware. Pressione Win + R, digite mdsched.exe e pressione Enter. Escolha Reiniciar agora e verificar se há problemas. Erros de memória podem fazer com que os drivers se comportem incorretamente.

Item Método 1 Parar DPS Método 3 Desabilitar NDU no Registro
Efeito no NDU.sys Para a atividade do driver imediatamente Impede o driver de carregar na inicialização
Requer reinicialização Não Sim
Reversibilidade Iniciar o serviço DPS novamente Alterar o valor Start de volta para 1
Impacto em outros diagnósticos Desabilita o DPS e todos os serviços dependentes Afeta apenas o driver NDU
Persistência após Windows Update Pode ser reativado pela atualização Pode ser redefinido para 1 pela atualização

Agora você pode identificar o vazamento de memória do NDU.sys no Perfmon e pará-lo usando o método que se adequa ao seu ambiente. Comece com o Método 1 para uma correção imediata. Use o Método 3 ou Método 4 para uma solução permanente. Após aplicar a correção, monitore o Perfmon por 24 horas para confirmar que a memória do pool não paginado permanece abaixo de 50 MB. Se o vazamento retornar, verifique se há atualizações do Windows que possam ter reativado o driver e aplique a alteração no registro novamente.

ADVERTISEMENT