Corrigir alto uso de memória pelo MsMpEng.exe no Windows 11 durante horas ociosas
🔍 WiseChecker

Corrigir alto uso de memória pelo MsMpEng.exe no Windows 11 durante horas ociosas

Correção rápida: adicione a própria lista de destino de verificação do Defender a uma exclusão (o paradoxo da verificação recursiva), reduza o conjunto de trabalho da Proteção em Tempo Real com Set-MpPreference -DisableScanOnRealtimeEnable $false e limite o limite de CPU da verificação a 25. O aumento de memória do MsMpEng.exe na ociosidade é quase sempre um loop de monitoramento recursivo de pastas em um diretório aninhado profundo.

Abra o Gerenciador de Tarefas quando o PC ficar ocioso por uma hora e você vir o Serviço Antimalware Executável (MsMpEng.exe) ocupando de 1 a 3 GB de memória. A CPU está baixa, o disco está quieto, o sistema não está sendo verificado — mas o Defender continua crescendo. O processo está realizando inspeção em tempo real em eventos do sistema de arquivos, e uma pasta com comportamento inadequado está gerando um fluxo constante de eventos que o Defender reverifica a cada tick.

Sintoma: MsMpEng.exe ocupa de 1 a 3 GB de memória na ociosidade no Windows 11, crescendo ao longo das horas de atividade.
Afeta: Windows 11 com o Microsoft Defender Antivírus habilitado.
Tempo de correção: 15 minutos de diagnóstico, varia para corrigir.

ADVERTISEMENT

O que causa o alto consumo de memória do MsMpEng na ociosidade

A Proteção em Tempo Real do Defender registra um filtro de kernel que intercepta toda abertura, fechamento e modificação de arquivo. Cada interceptação percorre o arquivo pelo banco de dados de assinaturas e pela consulta de reputação na nuvem. Normalmente, o custo é limitado pela atividade do usuário. O aumento de memória ocorre quando uma das três coisas é verdadeira: uma pasta monitorada gera um fluxo constante de eventos de arquivo (serviços de sincronização, ambientes de desenvolvimento, gravadores de log), o cache de reputação na nuvem cresce sem limites para binários que não consegue classificar rapidamente, ou uma verificação agendada é pausada no meio da execução e seu conjunto de trabalho é mantido até a próxima tentativa.

Diagnosticar isso leva um comando do PowerShell (qual pasta está sendo verificada), uma visualização do Gerenciador de Tarefas (qual processo está gerando os eventos) e um ajuste (excluir o caminho problemático).

Método 1: Encontrar e excluir a pasta ruidosa

  1. Abra o PowerShell como Administrador.
  2. Execute Get-MpComputerStatus | Select-Object QuickScanStartTime, FullScanStartTime, RealTimeProtectionEnabled para confirmar que a Proteção em Tempo Real está ativada (deve estar).
  3. Execute Get-MpThreatDetection | Sort-Object DetectionTime -Descending | Select-Object -First 10. Se as detecções se concentrarem em um caminho, esse é o suspeito.
  4. Abra o Monitor de Recursos (resmon), vá para a guia Disco e observe as linhas de Atividade de Disco para MsMpEng.exe. A coluna Arquivos mostra o que o Defender está verificando no momento.
  5. Adicione a pasta ruidosa às exclusões: Add-MpPreference -ExclusionPath "C:\Users\SeuNome\AppData\Local\FerramentaRuidosa".
  6. Reinicie o Serviço do Windows Defender Antivírus via services.mscServiço do Microsoft Defender Antivírus → Reiniciar. Aguarde 30 segundos e verifique o Gerenciador de Tarefas. A memória deve cair para cerca de 200–300 MB.

Culpados comuns: sistemas de arquivos do WSL2, camadas de imagem do Docker, pastas remotas do Visual Studio Code, árvores node_modules do Node.js, diretórios de trabalho do Git com milhares de arquivos pequenos.

ADVERTISEMENT

Método 2: Limitar o orçamento de CPU e memória de verificação do Defender

Se excluir pastas não for prático (você precisa delas protegidas), restrinja globalmente o uso de recursos do Defender.

  1. No PowerShell como Admin, execute:

    Set-MpPreference -ScanAvgCPULoadFactor 25

    Set-MpPreference -DisableCpuThrottleOnIdleScans $false

    Set-MpPreference -ScanScheduleQuickScanTime 02:00

  2. Isso limita as verificações ativas a 25% de CPU e permite que as verificações ociosas sejam limitadas. As verificações rápidas são executadas apenas às 2h.
  3. Para limites agressivos de memória, adicione Set-MpPreference -CheckForSignaturesBeforeRunningScan $true — isso limpa os buffers de assinatura antes de cada verificação, em vez de mantê-los residentes.

O limite de CPU é definido em termos de BIOS (uma fração do total de núcleos). 25 em uma CPU de 8 núcleos significa 2 núcleos em plena carga, o que é razoável para uma estação de trabalho.

Método 3: Desativar a Proteção em Tempo Real temporariamente para confirmar o diagnóstico

Se você não tem certeza de que o Defender é a causa real, desative a Proteção em Tempo Real brevemente e observe.

  1. Abra Segurança do Windows → Proteção contra vírus e ameaças → Gerenciar configurações.
  2. Desative a Proteção em tempo real. Observe que o Windows a reativa após algumas horas; isso é apenas para diagnóstico.
  3. Aguarde 5 minutos e verifique a memória do MsMpEng.exe no Gerenciador de Tarefas. Se cair, a Proteção em Tempo Real era a causa e os Métodos 1–2 ajudarão. Se permanecer alta, o Defender não está realmente crescendo — outra coisa está.
  4. Reative a Proteção em Tempo Real imediatamente após o teste.

Não deixe a Proteção em Tempo Real desativada como solução alternativa. É apenas uma etapa de diagnóstico.

ADVERTISEMENT

Como verificar se a correção funcionou

  • Reinicie. Aguarde 1 hora de ociosidade. Abra o Gerenciador de Tarefas. A memória do MsMpEng.exe permanece abaixo de 500 MB.
  • Execute Get-MpPreference | Select-Object ExclusionPath, ScanAvgCPULoadFactor — confirme suas exclusões e o limite de CPU definidos.
  • Verifique o Visualizador de Eventos → Aplicativos e Serviços → Microsoft → Windows → Windows Defender → Operacional. Nenhuma entrada repetida de “Verificação concluída com erros” em intervalos de 1 a 5 minutos.

Se nenhum desses funcionar

Se o MsMpEng.exe continuar crescendo após exclusões e limite de CPU, o problema pode ser o serviço de proteção entregue pela nuvem consultando um caminho que o Defender não consegue alcançar. Execute Set-MpPreference -CloudBlockLevel 2 (padrão) em vez de níveis mais altos e verifique se a conectividade com a Internet para https://www.microsoft.com/wdsi não está bloqueada. Para máquinas em redes medidas ou sem conexão, defina Set-MpPreference -MAPSReporting Disabled para impedir que o Defender aguarde respostas da nuvem. Como último recurso, uma atualização de reparo no local reinstala a plataforma do Defender do zero — útil quando uma atualização da plataforma do Defender falhou parcialmente e deixou o serviço em um estado ruim.

Conclusão: O aumento de memória do MsMpEng.exe é quase sempre uma verificação recursiva em uma pasta ruidosa. Adicione uma exclusão, reinicie o serviço e a memória volta ao normal. O limite de CPU é seu seguro contra crescimento não monitorado.

ADVERTISEMENT