Qué es exactamente Prioridad y afinidad (que se encuentra en el Administrador de tareas) y para qué se utilizan:
En qué situaciones deberían / podrían usarse y qué ventajas se encuentran al personalizar esta configuración.
Qué es exactamente Prioridad y afinidad (que se encuentra en el Administrador de tareas) y para qué se utilizan:
En qué situaciones deberían / podrían usarse y qué ventajas se encuentran al personalizar esta configuración.
Respuestas:
Establecer afinidad hace algo, pero nunca querrás usarlo.
Establecer la afinidad de la CPU obliga a Windows a usar solo la CPU (o núcleos) seleccionada. Si configura la afinidad a una sola CPU, Windows solo ejecutará esa aplicación en esa CPU, nunca en ninguna otra.
Windows coloca automáticamente las aplicaciones en ejecución en el procesador menos ocupado, por lo que limitarlo a una sola CPU no permite que Windows haga su trabajo. Incluso si CPU / core 1 está ocupado ejecutando otras aplicaciones, Windows no podrá ejecutar una aplicación con afinidad establecida en CPU / Core 2.
Realmente, la única razón por la que querrías hacerlo es ejecutar una aplicación antigua que no funciona correctamente cuando se ejecuta en un sistema multi-CPU / Core.
Establecer afinidad le dice a ese proceso en qué procesadores se le permite ejecutar.
Si bien es muy útil para algunos casos de nicho, el usuario promedio probablemente no debería meterse con eso.
Por ejemplo, si a un proceso se le permitiera ejecutar su propio núcleo, podría ejecutarse (casi) en tiempo real sin que esas 70 utilidades de Windows interrumpieran constantemente y cambiaran la pila en el procesador por su propio segmento de tiempo. Las aplicaciones en tiempo real eran algo que Windows nunca podría hacer antes de que los sistemas multiprocesador / multinúcleo salieran a escena porque el sistema operativo constantemente interrumpía / cambiaba la tarea de la aplicación para sus propios fines. Eso ahora se puede superar principalmente aislando el procesador de la aplicación en tiempo real y evitando que todas las demás aplicaciones del sistema usen ese procesador. Este es un tema muy específico, pero los sistemas como los simuladores de vuelo (reales), la automatización de fábrica y los sistemas de retroalimentación de control dependen de la arquitectura en tiempo real para funcionar.
Las aplicaciones intensivas del procesador (como las máquinas virtuales) se pueden aislar en su propio núcleo para que pueda usarlas sin tener que arrastrar el resto de su sistema. En teoría, un hipervisor que se ejecuta en un procesador que admite la interacción de hipervisor de metal desnudo puede alcanzar un rendimiento del procesador igual al sistema operativo independiente que se ejecuta por sí mismo (menos el procesador necesario para ejecutar el sistema operativo host). Por supuesto, en la práctica, incluso una máquina virtual que se ejecute en su propio núcleo / procesador aislado deberá aceptar una pequeña cantidad de sobrecarga del host del sistema operativo host.
Para las aplicaciones que manejan una gran cantidad de datos en flujo, aislar la aplicación a su propio procesador (y potencialmente aún utilizar múltiples núcleos) reducirá el intercambio de caché.
Las aplicaciones más antiguas que se rompen cuando se distribuyen en múltiples procesadores pueden limitarse efectivamente a un núcleo / procesador para solucionar el problema.
Si estaba haciendo mediciones de rendimiento en una aplicación específica, es casi imposible obtener resultados consistentes en diferentes sistemas a menos que pueda aislar el proceso porque, de lo contrario, no tiene control sobre cuánto tiempo le da el sistema operativo a su aplicación. La mayoría de las personas está de acuerdo en que medir el rendimiento en tiempo de ejecución no da buenos resultados, pero esas personas nunca han considerado que la intervención del sistema operativo (que hace que los resultados sean tan inconsistentes) puede limitarse mediante el uso de la afinidad.
Hay muchos casos en los que la afinidad es vital pero, si no sabes cuáles son, probablemente no la necesites.
Esta es una característica muy útil en ciertos escenarios. Supongamos que tiene una aplicación multiproceso que tiende a estar inactiva o a tomar agresivamente el 100% de cada CPU durante varios minutos, haciendo búsquedas, compilaciones, etc. Llamemos a esta aplicación "eclipse".
Digamos también que mientras trabaja en esta aplicación, tiene muchas otras aplicaciones que tienen requisitos de CPU modestos, pero que son esencialmente aplicaciones en tiempo real. Por ejemplo, mientras usa Eclipse y está iniciando aleatoriamente las compilaciones o haciendo compilaciones gwt, también está usando su computadora para transmitir música o realizar investigaciones en una ventana del navegador (por ejemplo, investigando la causa de un problema de compilación) . Claro, no morirás si tu música se salta o tu navegador deja de responder, pero es molesto.
Lo que la afinidad le permite hacer es limitar su aplicación de alimentación de CPU a 7/8 núcleos para que todos los demás tengan acceso garantizado a una CPU relativamente no utilizada y no tenga que lidiar constantemente con la tartamudez y las interrupciones en la usabilidad de todo lo demás en su computadora mientras el eclipse se está desmoronando.
Mayor prioridad significa que el procesamiento de una tarea se verá favorecido sobre las tareas de baja prioridad. Si está ejecutando una aplicación que necesita para ser muy receptiva, y un montón de otros procesos no interactivos, por ejemplo, las prioridades pueden garantizar una mejor experiencia con su proceso de alta prioridad.
Por ejemplo: desde Windows Vista, Windows Media Player obtiene automáticamente una mayor prioridad para garantizar una reproducción fluida y continua de los archivos multimedia, con solo aproximadamente el 20% del tiempo de CPU disponible para otros procesos de forma predeterminada. Este es solo un ejemplo para ayudarlo a comprender qué hacen las prioridades. (Puede leer más sobre las prioridades de Media Player en Vista en Technet ).
La afinidad suave o dura puede aumentar la velocidad de procesamiento porque la memoria caché de la CPU todavía puede tener restos del proceso cuando un proceso se interrumpió previamente y luego se reanudó en un momento posterior.
Un ejemplo perfecto de esto son los viejos juegos de computadora (u otro software), especialmente cuando los juegos de 32 bits (aplicaciones) se emulan en una computadora moderna de 64 bits. Al establecer la afinidad por los juegos antiguos limitándolos a solo cuatro núcleos, a menudo se pueden evitar bloqueos para permitir que comiencen los juegos de stubburn. Algunos motores de renderizado utilizados por juegos OLD, editores de video y software de gráficos acelerados por hardware, o software CAD, no entienden más de cuatro núcleos de CPU y se estrellarán cuando se inicien.
No estoy creando una cuenta solo para publicar esto, para encontrarme en Google 'kieseyhow'