Soy el autor del blog publicado por fan de ubuntu: http://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/
Esa publicación de blog no presenta ningún hecho, es solo teoría . Es la forma en que funciona, en realidad: el procesador "se detiene" con más frecuencia para ver si hay algunos procesos que requieren atención inmediata. Eso significa que esos procesos se ejecutarán antes que los demás, por lo que no omitirá fotogramas al codificar ni tendrá grandes tiempos de retraso entre los clics del mouse y las muertes de enemigos. No significa que todos los procesos terminen antes: en realidad, la CPU está perdiendo una mayor parte de su tiempo para decidir qué proceso se ejecutará a continuación y hacer el cambio de contexto. Por lo tanto, el tiempo total de ejecución es más largo, y es por eso que nadie ejecuta un kernel preferente en servidores web o máquinas de bases de datos. Pero un kernel preferente de 300Hz (o incluso 1000Hz) es lo mejor para los servidores de juegos.
Pero hoy en día los procesadores tienen muchos núcleos, por lo que cuando hay pocos procesos que requieren atención, pueden asignarse fácilmente a un núcleo diferente en lugar de esperar a que un núcleo lo tome.
(stackexchange requiere referencias / experiencia personal: soy ingeniero electrónico, noobgamer sediento de sangre que mantiene varios servidores de juegos en http://www.gamezoo.it ).
Por lo tanto, como regla general, diría: si su procesador es un potente núcleo cuádruple de alta frecuencia y gran número y generalmente no abre toneladas de páginas web mientras codifica / decodifica / juega (huh), podría simplemente pruebe el kernel genérico (o i686, o amd64 si existen) y tenga el mayor rendimiento posible (es decir, el procesamiento de números sin procesar que el procesador puede hacer). Si experimenta problemas (realmente deberían ser menores) o su máquina es un poco menos poderosa que la mejor del mercado, vaya a la versión gratuita.
Si está en una máquina de gama baja que solo tiene uno o dos núcleos, intente con la latencia baja. También puede probar el tiempo real, pero encontrará que tiende a bloquear los procesos hasta que los "en tiempo real" hayan terminado su trabajo. Creo que el kernel en tiempo real no es el "vanilla", sino que tiene aplicado el parche CONFIG_PREEMPT_RT. Creo que los núcleos en tiempo real son solo para aquellos que tienen que construir una sola aplicación en sistemas embebidos, por lo que los usuarios habituales de escritorio no deberían tener beneficios reales porque generalmente ejecutan una buena cantidad de aplicaciones al mismo tiempo.
Finalmente, las opciones de kernel más relevantes si desea volver a compilar su kernel para tener un escritorio de baja latencia son:
PREEMPT=y
y:
CONFIG_1000_HZ=y
Para agregar algunos ahorros de energía, puede marcar este:
CONFIG_NO_HZ=y
-realtime
es en tiempo real, ¿qué significa-rt
? ¿Y qué pasa con el-preempt
núcleo? Le agradeceré a gemue2010, hizo un trabajo bastante bueno al explicarlo, pero aún no explica todo.