¿Compilar un kernel de Linux hace que el sistema operativo sea más rápido?

11

¿La compilación de un kernel de Linux descargado (por ejemplo, 3.2) hace que el sistema operativo (por ejemplo, ubuntu) sea más rápido en esa máquina específica?

rockr101
fuente
Dudo que note una diferencia, incluso si lo hace.
Zoke
Algo más rápido es subjetivo, ¿más rápido que qué? Estoy usando los núcleos genéricos de Ubuntu y mi PC es rápida. Para mejorar el rendimiento y obtener un mejor hardware, no hay forma de evitarlo.
Uri Herrera

Respuestas:

10

En general, no.

Sin embargo, hay algunas excepciones al "no". Por ejemplo, el kernel de liquorix o el kernel de Ubuntu Flavors . Estos son generalmente ajustes de rendimiento y pueden marcar la diferencia (el núcleo del servidor es más rápido para los servidores y no mejorará el rendimiento del escritorio).

Con Ubuntu, si está ejecutando el sabor de kernel adecuado, debería estar listo.

Nota: El núcleo Liquorix también tiene algunos parches (además del ajuste de rendimiento).

La otra excepción sería si tiene algún hardware inusual.

Pero en la gran mayoría de los casos, el rendimiento no es una razón "estándar" para compilar un núcleo.

Ver:

Kernel de compilación wiki de Ubuntu

Pantera
fuente
7

La respuesta más precisa es, como dijo bodhi.zazen, no generalmente, pero con algunas excepciones. La mayoría de esas excepciones están relacionadas con el hardware, pero algunas son solo problemas de configuración. La justificación de mi respuesta sigue.

He compilado veintiséis núcleos entre dos máquinas en el último mes intentando ajustar el rendimiento. Lo que encontré:

  1. Cambiar el tipo de CPU en .config a la arquitectura nativa y eliminar las opciones que admiten otras arquitecturas mejoraron el rendimiento de E / S de archivos en más del 10% en los puntos de referencia (suficiente para "sentir la mejora") y redujeron el retraso después de la entrada del usuario en XFCE en Xubuntu 12.04 -32bit en mi laptop Mobile Sempron 512MB RAM de 1.8GHz (K8). Los mismos cambios no tuvieron un impacto cuantificable o perceptible en mi laptop Core2 Duo 2GB RAM de 1.73GHz en Ubuntu 12.04 de 64 bits, pero causaron que una aplicación anteriormente estable se volviera propensa a fallas.
  2. Cambiar HZ en .config a 1000 mejoró drásticamente la capacidad de respuesta a la entrada del usuario cuando se encuentra bajo una alta carga de CPU en ambos sistemas. También hizo cambios en el foco de la ventana en X instantáneamente en todas las condiciones.
  3. El parche BFS aumentó la duración de la batería en ambos sistemas en unos pocos minutos. Solo lo suficiente para ser medible y consistente, pero no lo suficiente como para importar mucho. Los puntos de referencia no revelaron cambios estadísticamente significativos en el rendimiento, pero ambos sistemas "se sienten" más rápido. Sospecho que esto tiene que ver con que la prioridad de programación sea más beneficiosa para las cargas de trabajo típicas en esas máquinas específicas.
  4. Todas las demás combinaciones .config probadas resultaron en una disminución del rendimiento en ambos sistemas.

Pasé sumas ridículas de tiempo compilando y probando diferentes configuraciones. Por todo eso, solo cinco granos produjeron un resultado deseable, de veintiséis intentos. Siete núcleos ni siquiera eran operables (no arrancables o no pudieron iniciar X). Recientemente instalé el kernel Liquorix desde el repositorio y obtuve todas las mejoras anteriores más un aumento de la velocidad de fotogramas de aproximadamente el 50% en los juegos de Windows que juego a través de WINE en el sistema Core2. Eso solo tomó unos minutos, y nada se rompió.

¿Es mejor mi sistema operativo porque compilé mi propio núcleo? Bueno, si un poco. Hasta que encuentro algo que funciona más lento / se rompe, porque no pude encontrarlo durante las pruebas. ¿Es mi sistema operativo más rápido? No.

OCDtech
fuente
3

En mi experiencia sí. Pero los beneficios provienen principalmente de la eliminación de funciones innecesarias y de la selección de algunas otras, como el tipo de procesador. Además, conviértalo en una latencia ultra baja para uso en escritorio. He estado compilando el núcleo durante años y para mí la diferencia siempre es notable. Pero hay otros beneficios. Los tiempos de arranque también se mejoran.

Sin embargo, lleva mucho tiempo seleccionar solo las opciones que necesita.

Kevin Guerra
fuente
0

No sé qué pasa con el kernel, pero en general compilar aplicaciones desde la fuente generalmente hace que funcionen más rápido (generalmente lo hago con bibliotecas de desarrollo como CGAL o aplicaciones como ParaView). Por supuesto, cuando el proceso de compilación está optimizado para la arquitectura, etc.

Sin embargo, no creo que compilar un kernel haga que sea más rápido que tenga una influencia visible en el rendimiento. En mi opinión, solo sería visible en los contadores de rendimiento.

Miseria
fuente
0

Compilé un kernel para un EeePC 900A solo para eliminar controladores y funciones innecesarios, para arrancar sin initrd adicional, para configurar el programador de E / S predeterminado, para optimizar Atom, y para deshabilitar la depuración y algo de potencia que degrada el rendimiento y la capacidad de respuesta. Funciones de guardado. (Se está utilizando como servidor para varias pequeñas cosas). Se necesita menos tiempo de arranque ^^ Hace aproximadamente un año lo probé antes, pero Chromium solo mostró páginas web en blanco, con enlaces en los que se puede hacer clic ...

pucgenie
fuente