Solución rápida: Agrega la propia lista de destinos de análisis de Defender a una exclusión (la paradoja del análisis recursivo), reduce el conjunto de trabajo de la Protección en tiempo real con Set-MpPreference -DisableScanOnRealtimeEnable $false y limita el tope de CPU del análisis al 25. El aumento de memoria de MsMpEng.exe en reposo casi siempre se debe a un bucle recursivo de vigilancia de carpetas en un directorio profundamente anidado.
Abre el Administrador de tareas cuando el equipo haya estado inactivo durante una hora y verás que el Ejecutable del Servicio Antimalware (MsMpEng.exe) ocupa de 1 a 3 GB de memoria. La CPU es baja, el disco está silencioso, el sistema no se está analizando, pero Defender sigue creciendo. El proceso realiza inspecciones en tiempo real de los eventos del sistema de archivos, y una carpeta con comportamiento anómalo genera un flujo constante de eventos que Defender vuelve a analizar en cada ciclo.
Afecta a: Windows 11 con Microsoft Defender Antivirus habilitado.
Tiempo de solución: 15 minutos de diagnóstico, variable para la solución.
Qué causa el alto uso de memoria de MsMpEng en reposo
La Protección en tiempo real de Defender registra un filtro de kernel que intercepta cada apertura, cierre y modificación de archivo. Cada intercepción hace pasar el archivo por la base de datos de firmas y la consulta de reputación en la nube. Normalmente, el costo está limitado por la actividad del usuario. El aumento de memoria ocurre cuando se cumple una de estas tres condiciones: una carpeta vigilada genera un flujo constante de eventos de archivo (servicios de sincronización, entornos de desarrollo, escritores de registros), la caché de reputación en la nube crece sin límite para binarios que no puede clasificar rápidamente, o un análisis programado se pausa a mitad de ejecución y su conjunto de trabajo se retiene hasta el siguiente intento.
Diagnosticar esto requiere un comando de PowerShell (qué carpeta se está analizando), una vista del Administrador de tareas (qué proceso está generando los eventos) y un ajuste (excluir la ruta problemática).
Método 1: Buscar y excluir la carpeta problemática
- Abre PowerShell como Administrador.
- Ejecuta
Get-MpComputerStatus | Select-Object QuickScanStartTime, FullScanStartTime, RealTimeProtectionEnabledpara confirmar que la Protección en tiempo real está activada (debería estarlo). - Ejecuta
Get-MpThreatDetection | Sort-Object DetectionTime -Descending | Select-Object -First 10. Si las detecciones se agrupan en torno a una ruta, ese es tu sospechoso. - Abre el Monitor de recursos (
resmon), ve a la pestaña Disco y observa las filas de Actividad de disco paraMsMpEng.exe. La columna Archivos muestra lo que Defender está analizando en este momento. - Agrega la carpeta problemática a las exclusiones:
Add-MpPreference -ExclusionPath “C:\Users\YourName\AppData\Local\NoisyDevTool”. - Reinicia el Servicio Antivirus de Windows Defender mediante
services.msc→ Servicio Antivirus de Microsoft Defender → Reiniciar. Espera 30 segundos y revisa el Administrador de tareas. La memoria debería volver a ~200–300 MB.
Culpables comunes: sistemas de archivos WSL2, capas de imágenes de Docker, carpetas remotas de Visual Studio Code, árboles node_modules de Node.js, directorios de trabajo de Git con miles de archivos pequeños.
Método 2: Limitar el presupuesto de CPU y memoria del análisis de Defender
Si excluir carpetas no es práctico (necesitas que estén protegidas), restringe el uso de recursos de Defender globalmente.
- En PowerShell como Administrador, ejecuta:
Set-MpPreference -ScanAvgCPULoadFactor 25
Set-MpPreference -DisableCpuThrottleOnIdleScans $false
Set-MpPreference -ScanScheduleQuickScanTime 02:00 - Esto limita los análisis activos al 25 % de CPU y permite que los análisis en reposo se ralenticen. Los análisis rápidos se ejecutan solo a las 2 a. m.
- Para límites de memoria más agresivos, agrega
Set-MpPreference -CheckForSignaturesBeforeRunningScan $true; esto borra los búferes de firmas antes de cada análisis en lugar de mantenerlos residentes.
El límite de CPU se establece en términos de BIOS (una fracción del total de núcleos). 25 en una CPU de 8 núcleos significa 2 núcleos a pleno rendimiento, lo cual es razonable para una estación de trabajo.
Método 3: Deshabilitar temporalmente la Protección en tiempo real para confirmar el diagnóstico
Si no estás seguro de que Defender sea la causa real, desactiva la Protección en tiempo real brevemente y observa.
- Abre Seguridad de Windows → Protección contra virus y amenazas → Administrar la configuración.
- Desactiva Protección en tiempo real. Ten en cuenta que Windows la vuelve a habilitar después de unas horas; esto es solo para diagnóstico.
- Espera 5 minutos y revisa la memoria de MsMpEng.exe en el Administrador de tareas. Si baja, la Protección en tiempo real era la causa y los Métodos 1–2 ayudarán. Si sigue alta, Defender no está creciendo realmente; algo más lo está haciendo.
- Vuelve a activar la Protección en tiempo real inmediatamente después de la prueba.
No dejes la Protección en tiempo real desactivada como solución alternativa. Es solo un paso de diagnóstico.
Cómo verificar que la solución funcionó
- Reinicia. Espera 1 hora de inactividad. Abre el Administrador de tareas. La memoria de MsMpEng.exe se mantiene por debajo de 500 MB.
- Ejecuta
Get-MpPreference | Select-Object ExclusionPath, ScanAvgCPULoadFactor; confirma que tus exclusiones y el límite de CPU estén configurados. - Revisa el Visor de eventos → Aplicaciones y servicios → Microsoft → Windows → Windows Defender → Operativo. No hay entradas repetitivas de “Análisis completado con errores” en intervalos de 1 a 5 minutos.
Si nada de esto funciona
Si MsMpEng.exe sigue creciendo después de las exclusiones y el límite de CPU, el problema puede ser el servicio de protección en la nube sondeando una ruta a la que Defender no puede acceder. Ejecuta Set-MpPreference -CloudBlockLevel 2 (predeterminado) en lugar de niveles superiores, y verifica que la conectividad a Internet hacia https://www.microsoft.com/wdsi no esté bloqueada. Para equipos en redes de uso medido o aisladas, configura Set-MpPreference -MAPSReporting Disabled para evitar que Defender espere respuestas de la nube. Como último recurso, una actualización de reparación en el lugar reinstala la plataforma Defender desde cero; es útil cuando una actualización de la plataforma Defender falló parcialmente y dejó el servicio en mal estado.
Conclusión: El aumento de memoria de MsMpEng.exe casi siempre se debe a un análisis recursivo en una carpeta problemática. Agrega una exclusión, reinicia el servicio y la memoria vuelve a la normalidad. El límite de CPU es tu seguro contra el crecimiento no atendido.