Antimalware Service Executable: uso alto de CPU
Respuesta breve: Antimalware Service Executable (MsMpEng.exe) es la protección en tiempo real de Windows Defender, y en reposo debería usar entre el 1 y el 5% de CPU. Un uso alto sostenido casi siempre significa que un análisis se ha atascado, que un segundo antivirus está en conflicto con él, o que Defender está reanalizando una carpeta enorme que cambia constantemente. Limita el análisis con Set-MpPreference -ScanAvgCPULoadFactor, mueve el análisis programado a horas de inactividad y excluye las carpetas de sincronización o de compilación ruidosas; no desactives Defender.
Antimalware Service Executable es el proceso de protección en tiempo real de Windows Defender, MsMpEng.exe. En reposo debería rondar el 1 a 5 por ciento. Cuando sube y se queda ahí, casi siempre es una de tres cosas: un análisis que se atascó, Defender peleándose con un segundo antivirus, o que está machacando una carpeta enorme una y otra vez. Recórrelas en ese orden.
La razón por la que digo “en ese orden” es que la gente salta directamente a la opción nuclear —apagar la protección en tiempo real— y esa es a la vez la peor solución y rara vez el problema real. Un análisis se supone que es temporal. Si MsMpEng sube al 40 por ciento durante diez minutos en un análisis programado y luego baja, no pasa nada. Lo que buscas es la versión que no vuelve a bajar.
¿Es esto realmente un problema?
Mira el reloj antes de cambiar nada. ¿Acabas de instalar actualizaciones? ¿Es la hora a la que se ejecuta tu análisis programado? Entonces un pico de CPU es el proceso haciendo su trabajo, y pasará. AV-Comparatives hace una prueba de rendimiento cada año, y la protección en tiempo real de Defender apenas mueve la aguja en lo cotidiano: copiar archivos, abrir aplicaciones, navegar. La protección no es lo que hace lento a un equipo sano. Así que la versión que te importa es estrecha: clavado al 50 por ciento mientras solo lees el correo, o todavía machacando quince minutos después de que un análisis debería haber terminado. Esa sí es real.
Un detalle que confunde a la gente: el número que ves es compartido. En un portátil de cuatro núcleos, MsMpEng mostrando un 25 por ciento total puede significar que está saturando un núcleo por completo mientras los demás están en reposo. Ordena el Administrador de tareas por la columna CPU y obsérvalo un minuto con la velocidad de actualización en Baja, para que un parpadeo de un segundo no te haga perseguir el problema equivocado.

Averigua con qué se está atragantando
Antes de empezar a cambiar ajustes, averigua en qué está trabajando Defender realmente, porque la solución depende de la respuesta.
Abre Seguridad de Windows, ve a Protección contra virus y amenazas y mira el Historial de protección. Lo que quieres es un análisis que empezó y nunca informó de que terminaba. La carpeta en la que está atascado vive más adentro, en el Visor de eventos: Registros de aplicaciones y servicios, luego Microsoft, Windows, Windows Defender, Operational. Recorre las últimas horas. Un evento de análisis iniciado sin un análisis completado que lo acompañe es tu respuesta.
Nueve de cada diez veces el culpable es un único directorio gigante lleno de archivos que cambian constantemente. Una carpeta de Descargas con torrents a medias. Una carpeta de imágenes de disco de máquinas virtuales. Una biblioteca de Steam. El árbol node_modules de un programador con cien mil archivos diminutos. Defender los reanaliza cada vez que algo cambia dentro, y si algo los cambia constantemente, no para nunca.
Hay un segundo patrón que conviene conocer. Si el uso alto aparece a la misma hora cada día en vez de continuamente, no está atascado en absoluto: es el análisis programado que cae mientras usas el equipo. Ese tiene una solución completamente distinta de la de un análisis realmente bloqueado.
Arréglalo según la causa real
Las recorreré en el orden en que yo las abordo, que no es el orden que usan la mayoría de las guías porque la mayoría empieza por la peligrosa.
Limita cuánta CPU puede tomar un análisis. Este es el ajuste que casi nadie menciona y es la solución más limpia cuando los análisis son el problema. Abre PowerShell como administrador y ejecuta Set-MpPreference -ScanAvgCPULoadFactor 30. Eso le dice a Defender que mantenga sus análisis en una media del 30 por ciento de CPU en lugar del 50 predeterminado; el valor acepta cualquier número de 5 a 100, según la propia documentación de Microsoft. Ya que estás, Set-MpPreference -EnableLowCpuPriority $true empuja los análisis programados a baja prioridad para que cedan ante lo que estés haciendo. Ejecuta Get-MpPreference | Select ScanAvgCPULoadFactor, EnableLowCpuPriority después para confirmar que se aplicó. Esto no debilita la protección en absoluto; solo impide que los análisis se coman la máquina.

Mueve el análisis programado a una hora en que nadie use el equipo. Si tu CPU alta es del tipo todos-los-días-a-la-misma-hora, esta es la solución. Abre el Programador de tareas, expande Biblioteca del Programador de tareas, Microsoft, Windows, Windows Defender, y abre Windows Defender Scheduled Scan. En la pestaña Condiciones puedes decirle que empiece solo cuando el equipo esté inactivo, y en Desencadenadores puedes moverlo a mitad de la noche. La programación predeterminada tiene la costumbre de dispararse en cuanto tu máquina despierta, que es justo cuando quieres usarla.
Excluye las carpetas que se reescriben constantemente, no Defender en sí. Las carpetas de sincronización en la nube son las peores aquí, porque OneDrive, Google Drive y Dropbox descargan y reescriben archivos todo el día, y cada escritura dispara un reanálisis. En Seguridad de Windows, Protección contra virus y amenazas, Administrar la configuración, Exclusiones, agrega la carpeta de sincronización o el directorio de salida de compilación concreto que causa el trajín. Sé preciso con esto. Excluir toda la unidad C anula el sentido de tener Defender, y excluir MsMpEng.exe de sí mismo —que varias guías sugieren— no sirve de nada, porque la lista de exclusiones es para lo que se analiza, no para el analizador.
Asegúrate de no estar ejecutando dos motores antivirus. Dos analizadores en tiempo real acaban analizándose el uno al otro, en bucle, y lo paga toda la máquina. Pasa más de lo que crees. El motivo es que el antivirus antiguo casi nunca se desinstala limpiamente: Norton, McAfee, Avast, todos dejan piezas detrás que siguen cargándose al arrancar. Quitarlos desde Agregar o quitar programas no basta. Cada fabricante tiene su propia herramienta de eliminación dedicada; coge esa, ejecútala y reinicia.
Hay una versión del bucle que Defender crea por sí solo. Analiza su propia cuarentena y caché. Analiza la carpeta de Descargas, la misma carpeta donde no para de soltar nuevas actualizaciones de definiciones. Vuelta y vuelta, y desde fuera parece un proceso descontrolado. He vaciado una carpeta de Descargas saturada y he visto desaparecer el problema sin tocar un solo ajuste.
Cuando es la memoria, no la CPU
Mucha gente llega aquí porque MsMpEng se está comiendo la RAM en lugar de la CPU, y las dos tienen umbrales distintos de “normal”. Un par de cientos de megabytes está bien: es el motor y sus definiciones cargadas en memoria para comprobar archivos rápido. Solo merece una segunda mirada cuando se dispara a los gigabytes y se queda ahí.
La memoria alta casi siempre significa que Defender está leyendo algo grande y lo mantiene mientras trabaja. Si llega a una carpeta de archivos comprimidos de varios gigabytes o imágenes de disco de máquinas virtuales, mete trozos en la RAM; el número sigue el tamaño de lo que esté masticando. Así que la solución es la misma que para la CPU: las exclusiones impiden que cargue esos archivos una y otra vez. Programarlo para horas de inactividad también ayuda. La memoria baja en cuanto termina el análisis.
Lo que yo no haría es perseguir un número de memoria que en realidad no molesta. Si MsMpEng usa un gigabyte durante un análisis y tu máquina tiene 16 y va bien, déjalo: es el proceso usando memoria disponible porque está ahí, que es para lo que sirve la memoria. El caso que importa es la RAM que sube y nunca se libera aunque no haya ningún análisis, en una máquina que ahora va a tirones y tirando de paginación. Ese es otro diagnóstico, y rara vez es culpa de Defender por sí solo.
Por qué “apagar Defender sin más” no es la solución
Desactivar la protección en tiempo real hará bajar el número, sin duda. También deja la máquina sin nada que la vigile, y en Windows actual se volverá a activar tras reiniciar de todos modos, salvo que vayas más lejos de lo que deberías. La forma correcta de la solución es limitar el análisis, reprogramarlo y excluir las carpetas ruidosas: conservas la protección y pierdes la ralentización. Si de verdad necesitas apagarla para una tarea concreta, hay un orden de operaciones correcto que implica la Protección contra manipulaciones en lugar de simplemente accionar el interruptor.
Si MsMpEng sigue clavado después de todo eso, sin ningún análisis en marcha y sin un segundo antivirus instalado, trátalo como un síntoma y no como la enfermedad. Un proceso que lleva el nombre de Defender pero vive en una carpeta temporal en vez de en System32 es malware disfrazado, y que el de verdad esté tan atascado puede apuntar a definiciones corruptas o a un disco que está fallando por debajo. Pasados los ajustes de arriba, entras en el territorio de los registros del Visor de eventos y el rastreo a nivel de proceso: el tipo de trabajo que lleva un par de horas peinar a mano, y donde tener a alguien que lo revise en remoto suele resolverlo más rápido que otra tarde de prueba y error.
Preguntas Frecuentes
¿Es normal que Antimalware Service Executable use tanta CPU?
En reposo, MsMpEng.exe debería estar entre el 1 y el 5% de CPU. Un pico breve durante un análisis programado o justo después de una actualización es normal y desaparece solo. Lo que no es normal es un uso alto sostenido durante tareas ligeras, o un análisis que sigue corriendo quince minutos después de que debería haber terminado. Las pruebas independientes de AV-Comparatives muestran que la protección en tiempo real de Defender apenas afecta las tareas cotidianas, así que un equipo sano no debería ir lento por su culpa: un uso alto sostenido significa que algo está atascado, no que el proceso esté trabajando duro.
¿Puedo desactivar Antimalware Service Executable de forma permanente y segura?
Puedes desactivar la protección en tiempo real, pero es la solución equivocada y deja tu PC desprotegido. En Windows actual, la Protección contra manipulaciones además la vuelve a activar tras reiniciar, salvo que la desactives primero, algo que no deberías hacer a la ligera. El enfoque seguro es limitar la CPU del análisis con Set-MpPreference -ScanAvgCPULoadFactor, reprogramar los análisis para horas de inactividad y excluir las carpetas que provocan reanálisis constantes. Así conservas la protección y eliminas la ralentización.
¿Por qué Antimalware Service Executable usa tanta memoria (RAM)?
Un par de cientos de megabytes es normal: es el motor y sus definiciones cargados en memoria para comprobar archivos rápido. Solo importa cuando sube a varios gigabytes y se queda ahí, lo que suele significar que Defender está analizando algo grande (archivos comprimidos de varios gigabytes, imágenes de disco de máquinas virtuales) y lo mantiene en memoria. Las mismas exclusiones de carpetas que arreglan la CPU alta arreglan esto, porque evitan que Defender cargue esos archivos enormes una y otra vez. La RAM que nunca se libera aunque no haya ningún análisis es otro problema distinto y rara vez es culpa de Defender.
¿Por qué usa mucha CPU si no estoy ejecutando ningún análisis?
La protección en tiempo real analiza cada archivo cuando se accede a él, así que una carpeta que cambia constantemente —una carpeta de sincronización en la nube, una carpeta de compilación, una carpeta de Descargas activa— lo mantiene trabajando aunque no haya análisis manual. Un análisis programado que se ejecuta mientras usas el PC se ve igual. Revisa el historial de protección en Seguridad de Windows y el registro Operational de Windows Defender en el Visor de eventos para ver qué está analizando realmente.
¿Agregarlo a la lista de exclusiones soluciona el uso alto de CPU?
Agregar MsMpEng.exe a su propia lista de exclusiones no sirve de nada: la lista de exclusiones controla qué se analiza, no el analizador en sí. Lo que funciona es excluir las carpetas de datos concretas que se reescriben constantemente (carpetas de sincronización en la nube, salidas de compilación, bibliotecas de juegos grandes), para que Defender deje de reanalizarlas con cada cambio. Sé preciso: excluir toda la unidad anularía el sentido de tener Defender.