Cómo gestionar los núcleos de la CPU con afinidad y prioridad en Windows

Última actualización: enero 28, 2026
Autor: Isaac
  • Windows reparte automáticamente los hilos entre todos los núcleos disponibles, pero es posible ajustar afinidad y prioridad de procesos para casos concretos.
  • La afinidad permite limitar qué núcleos usa cada programa, mientras que la prioridad decide qué proceso recibe antes tiempo de CPU.
  • Estas técnicas ayudan con juegos incompatibles con muchos hilos, procesos pesados como Windows Defender o servidores IIS en hardware NUMA.
  • Mal configuradas, afinidad y prioridad pueden provocar cuelgues, pérdida de rendimiento o bloqueos, por lo que deben usarse con precaución.

gestionar nucleos cpu afinidad procesos

Si alguna vez has visto tu procesador al 100% mientras Windows parece ir a tirones, seguramente te has planteado si podrías repartir mejor la carga entre los núcleos de la CPU. La buena noticia es que Windows ofrece herramientas para hacerlo, y no son tan complicadas como parecen, aunque conviene entender muy bien qué tocas para no liarla.

A lo largo de este artículo vamos a ver cómo funciona la afinidad de CPU y la prioridad de procesos en el Administrador de tareas, cuándo tiene sentido usarlas, qué riesgos tienen y cómo aprovecharlas en situaciones concretas: juegos que crashean con muchos núcleos, procesos que saturan el equipo (como Windows Defender), uso en servidores con IIS o incluso procesadores híbridos Intel con P-Cores y E-Cores. Todo ello, con una visión práctica y aterrizada al día a día.

Qué es la afinidad de CPU y cómo encaja con los procesadores multinúcleo

Desde hace muchos años no vivimos con un simple procesador de un solo núcleo, sino con chips que integran 2, 4, 8, 16 o más núcleos físicos e hilos lógicos. Cada núcleo es una unidad de procesamiento independiente, con su propia lógica y su caché asociada, capaz de ejecutar instrucciones en paralelo al resto. Si quieres comprobar cuántos hilos y núcleos tiene tu equipo, puedes ver las especificaciones completas de tu PC desde la configuración de Windows.

La idea de estos procesadores multinúcleo es que, en lugar de subir indefinidamente la frecuencia de un único núcleo, dividimos el trabajo en varios núcleos que funcionan al mismo tiempo. Algunos procesadores además añaden tecnologías como Hyper-Threading o SMT, donde cada núcleo físico se muestra al sistema como dos hilos lógicos (por ejemplo, 14 núcleos físicos y 28 lógicos en un Xeon), lo que complica un poco más el panorama.

Sin embargo, esta teoría solo se aprovecha si el software está preparado. Aplicaciones modernas y juegos actuales suelen usar varios hilos, pero muchos programas antiguos o de bajo presupuesto apenas sacan partido de más de uno o dos núcleos. Es decir, puedes tener 16 núcleos y que un juego viejo solo use uno.

En condiciones normales, Windows utiliza todos los núcleos que la BIOS/UEFI ha puesto a su disposición. El propio sistema decide cómo repartir procesos e hilos entre ellos para equilibrar rendimiento, consumo energético y compatibilidad. Aun así, hay ocasiones en las que el sistema deshabilita o no vuelve a activar algunos núcleos (en versiones antiguas como Windows 7/8), o ciertas aplicaciones no se llevan bien con demasiados hilos. Si dudas sobre cuántos núcleos necesita tu sistema, consulta cuántos núcleos necesita Windows 10.

Activar todos los núcleos del procesador en Windows: cuándo tiene sentido

En equipos modernos con Windows 10 u 11, si no has tocado nada raro en la BIOS, todos los núcleos vienen activados de fábrica. La opción de limitar núcleos desde el sistema operativo sigue existiendo, pero a efectos prácticos en estas versiones no se usa para “desbloquear” potencia oculta; más bien sirve para pruebas o para convivir con software muy antiguo.

En Windows 7 y 8 sí era más habitual ajustar manualmente los núcleos que el sistema podía usar. Para comprobarlo o forzar su uso, se puede recurrir a la clásica herramienta de configuración del sistema:

  • Escribe msconfig en el buscador de Windows y pulsa Intro.
  • Ve a la pestaña Arranque y entra en Opciones avanzadas….
  • Marca la casilla Número de procesadores y selecciona el máximo disponible.
  • Pulsa Aceptar y luego Aplicar, y reinicia el equipo.

En Windows 10 y 11, aunque esta pantalla sigue apareciendo, lo normal es que la casilla esté desmarcada. Eso indica que Windows utilizará automáticamente todos los núcleos que la BIOS le ofrezca, sin necesidad de que hagas nada más.

Si en tu caso has estado jugando con esta opción o has reducido el número de núcleos para probar algo, asegúrate de volver a dejarla sin marcar para que el sistema pueda usar de nuevo toda la CPU sin restricciones artificiales.

activar nucleos procesador windows

Cómo funciona la multitarea de Windows y por qué no siempre conviene tocar nada

Los sistemas operativos actuales, como Windows, trabajan con multitarea de tipo preemptivo. Traducido: es el sistema, no las aplicaciones, quien manda sobre el hardware y decide qué proceso se ejecuta en cada momento y en qué núcleo.

En la época de la multitarea cooperativa, cada programa tenía que “ceder el turno” al resto. Si un proceso se colgaba o no liberaba tiempo de CPU, el sistema entero podía quedarse tieso, con las famosas pantallas azules u otros mensajes de error catastróficos.

Con la multitarea preemptiva, Windows reserva siempre recursos para sí mismo y para servicios críticos, de forma que nunca asigna el 100% de la CPU a una sola aplicación aunque ésta esté pidiendo todo lo que pueda. Así, si un juego se dispara en consumo, el sistema sigue teniendo margen para gestionar otros procesos y hasta para matarlo si hace falta.

  ¿Cómo cambiar las letras de vertical a Horizontal en Word?

Esto tiene una consecuencia importante: incluso en juegos o tareas pesadas, el sistema no va a regalar alegremente todos los recursos a una sola app, porque necesita mantener vivos procesos de fondo, controladores y servicios sin los cuales el equipo colapsaría.

Desde el punto de vista del usuario, esto a veces se percibe como “mi juego va al 90% de CPU y el escritorio va lento”. Y es en este contexto donde muchos piensan en tocar afinidad o prioridad para “arreglarlo” a mano.

Afinidad de CPU en el Administrador de tareas: qué es y para qué sirve

La afinidad de CPU es la opción que permite decidir en qué núcleos concretos puede ejecutarse un proceso. Por defecto, Windows deja que cada proceso utilice todos los núcleos disponibles, y él se encarga de ir repartiéndolos para equilibrar carga y temperatura.

Para ajustar la afinidad desde el propio sistema, el camino es sencillo:

  • Pulsa Ctrl + Shift + Esc para abrir el Administrador de tareas.
  • En Windows 10/11 ve a la pestaña Detalles (en Windows 7 es la pestaña Procesos).
  • Localiza el programa que te interesa, haz clic derecho sobre él y selecciona Establecer afinidad.
  • Verás una lista de CPU 0, CPU 1, CPU 2… que representan los hilos lógicos de tu procesador.
  • Marca o desmarca los núcleos donde quieres permitir que se ejecute ese proceso y confirma.

Al hacer esto, estás diciendo a Windows que ese proceso solo puede correr en los núcleos seleccionados. Esto es útil, por ejemplo, para limitar a uno o dos núcleos una aplicación muy tragona en segundo plano (compresión de vídeo, render, etc.) y dejar el resto libres para jugar o trabajar con otras herramientas.

En el caso de procesadores con Hyper-Threading o SMT, el número de “CPU” que verás coincide con el número de hilos lógicos, no con los núcleos físicos. Es decir, en un chip de 8 núcleos y 16 hilos te aparecerán 16 CPUs en el cuadro de afinidad.

establecer afinidad administrador tareas

Casos reales donde la afinidad de CPU puede salvarte el día

Uno de los escenarios más claros donde la afinidad es útil es cuando un juego o programa no soporta bien muchos núcleos o hilos. Hay títulos antiguos o mal programados que directamente fallan si detectan demasiados hilos lógicos.

Imagina un PC con una placa X99, 128 GB de RAM, una GTX 1080 Ti y un Xeon de 14 núcleos físicos con Hyper-Threading, es decir, 28 hilos lógicos disponibles. La mayoría de juegos irán finos, pero algunos pueden negarse a arrancar o quedarse en negro porque no saben gestionar ese número de hilos.

En casos así se han visto errores del tipo “out of thread ids. Decrease the number of threads or increase MAX_THREADS_SUPPORTED” en ciertos títulos cuando se ejecutan a pantalla completa. Si se reduce el número de procesadores activos con msconfig (por ejemplo, limitando a 14 en lugar de 28) y se reinicia, de repente esos juegos empiezan a funcionar sin problemas.

El inconveniente de esta solución es obvio: estás reduciendo los núcleos disponibles para todo el sistema operativo, no solo para el juego conflictivo. Todo el equipo queda capado hasta que vuelvas a activar todos los hilos.

La alternativa ideal sería aplicar la limitación solo al ejecutable del juego, ya sea marcando la afinidad desde el Administrador de tareas justo después de lanzarlo o automatizando el proceso con un script por lotes o una herramienta de terceros como Process Lasso. De ese modo, solo ese juego “ve” menos núcleos, mientras el resto del sistema sigue aprovechando toda la CPU.

Prioridad de procesos: ¿de verdad gana rendimiento ponerlo en Alta?

Además de la afinidad, el Administrador de tareas permite cambiar la prioridad de un proceso, es decir, lo importante que es para el planificador de Windows a la hora de asignar tiempo de CPU.

Para modificarla, el camino es casi el mismo que antes:

  • Abrir el Administrador de tareas y entrar en la pestaña Detalles.
  • Buscar el proceso del juego o programa.
  • Botón derecho > Establecer prioridad y elegir entre niveles como “Normal”, “Por encima de lo normal”, “Alta” o “Tiempo real”.

Subir a “Por encima de lo normal” o “Alta” puede hacer que ese proceso reciba antes tiempo de CPU que otras aplicaciones de fondo, lo cual a veces se traduce en una ligera mejora de fluidez si el procesador está saturado.

Sin embargo, la prioridad “Tiempo real” es peligrosa en un entorno doméstico. Este nivel está pensado para aplicaciones críticas de tiempo real (control industrial, audio en vivo muy sensible, etc.) y puede hacer que Windows descuide procesos esenciales. El resultado puede ir desde tirones en el sistema hasta bloqueos serios o la sensación de que “no puedes hacer nada más” mientras ese proceso está en marcha.

Por eso, aunque cambiar la prioridad a “Alta” con un juego puede dar un empujón muy pequeño, no es una solución mágica de rendimiento y, sobre todo, no debería usarse sin saber qué se hace. El planificador de Windows está muy optimizado y, en la mayoría de casos, deja la CPU donde mejor rinde sin necesidad de que metamos mano.

Limitar aplicaciones pesadas mediante afinidad: ejemplo con Windows Defender

Otro escenario donde la afinidad es muy útil es cuando un proceso de sistema monopoliza CPU y disco. Un caso típico es el de Windows Defender, cuyo proceso principal es MsMpEng.exe.

  ¿Cómo configurar las aplicaciones que se inician con Windows 10?

En algunos equipos, sobre todo portátiles o PCs justos de recursos, se ve cómo MsMpEng.exe se pone al 80-100% de la CPU durante análisis completos o en tiempo real, dejando el sistema prácticamente congelado. A veces se queda atascado con ciertos archivos y no avanza, manteniendo el uso altísimo.

Antes de tocar afinidad, Microsoft recomienda varias cosas:

  • Asegurarse de que no hay otro antivirus o antimalware instalado que entre en conflicto con Windows Defender.
  • Desinstalar correctamente cualquier solución de seguridad antigua desde Programas y características.
  • Configurar exclusiones de carpetas en Windows Defender para rutas problemáticas.

Si aun así Defender sigue saturando el equipo, puedes recurrir a limitar sus recursos desde el Administrador de tareas:

  • Abrir el Administrador de tareas y entrar en Detalles.
  • Localizar MsMpEng.exe, clic derecho > Establecer afinidad.
  • Seleccionar solo una parte de los núcleos, por ejemplo, aproximadamente el 50% de la CPU lógica (un núcleo en un dual core, dos en un quad core, etc.).

Con esto, Windows Defender tardará más en completar sus análisis, pero no podrá comerse toda la CPU. Es un cambio de “velocidad por usabilidad”: sacrificas rapidez en el escaneo a cambio de poder seguir trabajando con el equipo sin que vaya a tirones.

Si lo que buscas es algo más radical, también se puede llegar a deshabilitar Windows Defender desde la directiva de grupo local (gpedit.msc), aunque en ese caso es obligatorio instalar otra solución de seguridad en su lugar, porque dejar el sistema sin protección en 2026 es algo cercano al suicidio digital.

Gestión de afinidad en servidores IIS: CPU, grupos de procesadores y NUMA

En entornos de servidor, la gestión de CPU va un paso más allá. IIS (Internet Information Services) permite configurar de forma avanzada cómo se usan los núcleos en los grupos de aplicaciones, incluyendo límites de CPU, nodos NUMA y grupos de procesadores.

Dentro de la configuración de IIS, el elemento <cpu> de cada <add> en <applicationPools> define parámetros como:

  • limit: porcentaje máximo de tiempo de CPU que puede consumir el pool, en milésimas de un 1%.
  • action: qué hacer cuando se supera ese límite (no hacer nada, matar el proceso de trabajo, limitar el consumo, etc.).
  • resetInterval: cada cuánto se reinician los contadores de uso de CPU.
  • smpAffinitized y smpProcessorAffinityMask: máscaras de afinidad para atar procesos de trabajo a CPUs concretas.
  • processorGroup, numaNodeAssignment y numaNodeAffinityMode: parámetros específicos para hardware con NUMA y varios grupos de procesadores.

Cuando el servidor corre sobre hardware NUMA, cada nodo agrupa varios núcleos con su propia memoria asociada. IIS puede configurarse para asignar procesos al nodo con más memoria disponible o delegar en el programador de Windows, y también para decidir si los hilos de un proceso pueden salir de ese nodo (afinidad “Soft”) o deben permanecer siempre en él (afinidad “Hard”).

En estos escenarios, la afinidad ya no se usa solo para salvar un juego conflictivo, sino para exprimir servidores multi-socket con muchos núcleos, equilibrar carga entre aplicaciones web y evitar que una sola app se lleve por delante todo el rendimiento de la máquina.

La configuración se puede hacer tanto desde el Administrador de IIS (Configuración avanzada de cada grupo de aplicaciones) como tocando directamente applicationHost.config o mediante herramientas como AppCmd, C#, VB.NET o scripts de administración remota, donde se ajustan los atributos de la sección system.applicationHost/applicationPools.

Afinidad y prioridad en juegos: cuándo ayuda y cuándo puede romperlo todo

Los juegos modernos son de las aplicaciones que más partido sacan a la CPU, ya que combinan cálculo de físicas, inteligencia artificial, creación de la lista de draw calls para la GPU, detección de colisiones y un largo etcétera de tareas por fotograma.

En un PC de gaming típico solemos tener, además del juego, varios programas en segundo plano: navegador, Discord, software de streaming, editores, etc. Si alguna de esas aplicaciones secundarias se pone demasiado exigente, el juego puede notar tirones, sobre todo si la CPU va muy justa.

En este contexto, la mejor práctica suele ser restringir la afinidad de las apps secundarias para que usen uno o dos núcleos y dejar el resto para el juego. Por ejemplo, dejar Chrome y un codificador de vídeo en núcleos altos (CPU 6-7 en un 8 hilos) y permitir que el juego se mueva de forma más libre por los núcleos 0-5. También conviene comparar con el Game Mode nativo de Windows y herramientas de terceros.

También hay títulos antiguos que rinden mejor con 4 núcleos que con más, o que se comportan de forma errática con Hyper-Threading y muchos hilos. En esos casos, acotar la afinidad del juego a un subconjunto de núcleos físicos puede mejorar la estabilidad y hasta los FPS.

Ahora bien, si se fuerza una limitación demasiado agresiva (por ejemplo, obligar a un juego moderno a ejecutarse en un solo hilo lógico en un procesador justito), es fácil que aparezcan crasheos, pantallas congeladas e incluso bloqueos completos del sistema que te obliguen a apagar el PC desde el botón.

En CPU con 8 núcleos y 16 hilos o más, suele ser relativamente seguro dejar fuera de uso para una app los núcleos 0 y 1, que Windows tiende a usar mucho para tareas generales. Pero a medida que reduces más hilos para un programa que sí necesita potencia, el riesgo de problemas aumenta bastante.

  ¿Que necesitamos para responder y generar valor en un entorno VUCA?

Procesadores híbridos de Intel y buena práctica con afinidad

Con la llegada de arquitecturas híbridas tipo Alder Lake, Raptor Lake y similares, Intel mezcla núcleos de rendimiento (P-Cores) y núcleos de eficiencia (E-Cores) en el mismo chip. Estos últimos están pensados para tareas en segundo plano y consumo reducido.

En teoría, Windows 11 ya sabe diferenciar estos núcleos y asignar la carga de manera inteligente, pero en la práctica hay juegos y aplicaciones que, si se ejecutan parcialmente sobre los E-Cores, pueden ver penalizado su rendimiento con bajadas de FPS y tirones.

Una manera de mitigar esto es usar la afinidad para forzar que el juego principal use sobre todo los P-Cores, dejando los E-Cores para aplicaciones en segundo plano: navegadores, reproductores, programas de chat, etc. Esto se hace como siempre, desde el Administrador de tareas, identificando cómo mapea el sistema los hilos de P-Cores y E-Cores.

Eso sí, para que este enfoque funcione de verdad habría que ajustar la afinidad no solo del juego, sino también de muchos servicios y procesos que corren en segundo plano, lo cual puede convertirse en un trabajo bastante pesado de mantener y ajustar si cambias a menudo qué aplicaciones usas.

En procesadores con pocos E-Cores, además, forzar demasiadas cosas sobre los núcleos eficientes puede sobrecargarlos y producir el efecto contrario al deseado. En cambio, en CPUs con combinaciones del tipo 8 P-Cores + 8 o 16 E-Cores, manejar la afinidad puede dar bastante juego para exprimir el chip.

Cómo automatizar afinidad y prioridad: Process Lasso y scripts por lotes

Hay un detalle importante: los cambios de afinidad y prioridad hechos desde el Administrador de tareas no son permanentes. Cada vez que reinicies el PC, o incluso a veces al cerrar y volver a abrir el programa, Windows olvidará esos ajustes.

Si quieres que un juego, editor de vídeo o cualquier aplicación arranque siempre con la misma afinidad y prioridad, tienes dos opciones sencillas:

  • Usar un programa dedicado como Process Lasso, que permite definir reglas persistentes por ejecutable (por ejemplo, “este juego siempre con prioridad Alta y afinidad a estos núcleos”).
  • Crear scripts .bat que lancen tus programas con la afinidad ya definida mediante el comando Start /affinity en la consola de Windows.

El enfoque con script por lotes sería algo así:

  1. Crear un archivo de texto vacío.
  2. Escribir una línea para cambiar al directorio donde está el ejecutable:
    cd /d «Ruta\al\juego»
  3. Añadir otra línea con el comando de inicio configurando la máscara de afinidad:
    Start /affinity MASCARA ejecutable.exe
  4. Guardar el archivo con extensión .bat (por ejemplo, MiJuego.bat).

La clave está en la máscara de afinidad, que se expresa en hexadecimal y define qué hilos lógicos estarán activos para ese proceso. Cada bit representa una CPU: si el bit está a 1, ese hilo se puede usar; si está a 0, no. Por ejemplo, una máscara de 3 (binario 11) permite usar CPU 0 y CPU 1; una máscara de 5 (binario 101) usaría CPU 0 y CPU 2, y así sucesivamente.

Para sacar realmente partido a esto con juegos, habría que hacer pruebas con diferentes combinaciones de núcleos, midiendo rendimiento, estabilidad y temperaturas, lo que implica invertir tiempo en benchmarks y experimentación. No hay una cifra universal mágica; depende de cada título, motor gráfico y procesador.

script afinidad cpu juegos

Riesgos y límites prácticos al tocar afinidad y prioridad

Manipular afinidad y prioridad no es “malo” por definición, pero sí tiene consecuencias que conviene conocer. El principal riesgo es dejar a un proceso sin la potencia mínima que necesita para funcionar bien.

Si limitas un juego exigente a muy pocos núcleos, o si lo expulsas de los hilos que Windows suele usar de forma preferente (como CPU 0 y CPU 1) en un procesador justo, pueden empezar a aparecer crasheos, cuelgues y pantallazos. En el mejor de los casos, simplemente perderás rendimiento.

En procesadores modernos con 8 núcleos y 16 hilos o más, reservar uno o dos hilos para el sistema y aplicaciones secundarias no suele ser dramático. El problema llega cuando “estrangulas” demasiado una app que sí necesita muchos recursos, especialmente si además has subido mucho su prioridad.

También hay que considerar que el propio Windows ya está muy optimizado para repartir la carga entre núcleos, gestionar los estados de energía, priorizar procesos en primer plano y mantener el sistema estable. Forzar la mano al planificador tiene sentido en casos muy concretos, pero como norma general el sistema suele tomar decisiones bastante razonables.

Por último, hay juegos con sistemas antitrampas o protecciones que impiden cambiar afinidad o prioridad desde el Administrador de tareas. En estos casos, cualquier intento de forzar las cosas puede acabar en cierres inesperados o incluso en bloqueos por parte del propio juego, así que conviene andarse con cuidado.

En conjunto, la afinidad de CPU y la prioridad de procesos son herramientas potentes para lidiar con juegos viejos que no soportan muchos hilos, procesos del sistema como Windows Defender que se pasan de frenada o escenarios avanzados con IIS y hardware NUMA, pero usarlas a lo loco puede generar más problemas que soluciones; si se aplican con cabeza, sabiendo qué hace cada ajuste y probando poco a poco, permiten exprimir algo más la CPU o mantener el PC usable mientras ciertas tareas pesadas siguen su curso en segundo plano.

Artículo relacionado:
¿Cuántos nucleos necesita Windows 10?