Incrementar drásticamente el rendimiento de Linux

Cuando leí ésta noticia no dudé en que tenía que publicarla en mi blog, para que aquellos que aquellos linuxeros amantes de los tutoriales que no la conozcan se pudieran beneficiar (tengo que tener noticias para todos los gustos,jeje). Aprovecho la ocasión para recomendaros el blog de Kyle (Ubuntu Unleashed).

Pues bien, parece ser que si instalamos el parche de Con Kolivas en el kernel 2.6.22 mejoraremos drásticamente el rendimiento de nuestro sistema operativo (el tutorial es para Ubuntu Feisty aunque supongo que es válido para cualquier distro linux).
PD: Espero no olvidarme nada en la traducción,jeje

Describiré los pasos que son necesarios:

Antes de nada, tenemos que tener en cuenta que todos los módulos que hayamos añadido nosotros a nuestro antiguo kernel habrá que recompilarlos (véase drivers de Ati o de tarjetas wifi) si es que queremos seguir usándolos, lógicamente.

Pues bien, lo primero que tenemos que hacer es actualizar nuestros repositorios he instalar los paquetes necesarios para poder compilar.

sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev (necesario para compilar xconfig)
Ahora descargamos el parche que aplicaremos al kernel (Ojo, es muy importante que tu kernel actual sea 2.6.22. Sino lo es, actualiza a él).

Ahora, descarga los siguientes archivos a un directorio (recuerda donde lo descargaste):
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2
Parche versión Escritorio:
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.22/2.6.22-ck1/patch-2.6.22-ck1.bz2
Parche versión Servidor:
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.22/2.6.22-ck1/patch-2.6.2-cks1.bz2

2-Ahora, descomprimamos el contenido en /usr/src:
sudo cp linux-2.6.22.tar.bz2 /usr/src
cd /usr/src
sudo tar -xvjf linux-2.6.22.tar.bz2
Renombremos el nombre del directorio que hemos creado:
sudo mv linux-2.6.22/ linux-2.6.22cK1
Eliminamos el enlace simbólico a un posible directorio linux:
sudo rm -rf linux
Creamos un nuevo enlace simbólico a nuestro kernel 2.6.22:
sudo ln -s /usr/src/linux-2.6.22cK1 linux
Parcheamos el kernel:
cd /usr/src/linux
Nos logueamos como superusuario
sudo -s -H
Y ahora aplicamos el parche (ya era hora,jeje):
sudo bzcat /home/username/patch-2.6.22-ck1.bz2| patch -p1
Para saber qué kernel estamos usando:
uname -r
Ahora crearemos un archivo para configurar el nuevo kernel (no te equivoques seleccionando el archivo correto)
sudo cp /boot/config-2.6.XXXXX .config
Configurar el kernel
sudo make xconfig
En "General Setup" selecciona:-Support for paging of anonymous memory (swap)
--Support for prefetching swapped memory

En "Processor type and features":

-Processor family Choose the model of your processor.

En activate:

-Preemption Model
--Voluntary Kernel Preemption (Desktop)
-High Memory Support
--off (si dispones de menos de 1GB de RAM)
--1GB Low Memory Support (si tienes 1GB de RAM)
--4GB (si dispones de más de 1GB de RAM)

-Timer frequency
--1000 Hz

En "Device drivers" ve a "Block devices" y en "IO Schedulers" deja solo el "CFQ I/O scheduler" , el cuál te dará un gran rendimiento

En "Kernel hacking" desactiva "Kernel debugging".

Ctrl+S para guardar la configuración del kernel y cerrar la ventana

Compilemos el kernel

Con la consola abierta y logueado como root (
sudo -s -H):
cd /usr/src/linux
Crearemos un archivo ".deb" que podrá ser instalado en Ubuntu usando make-kpkg.

Escribe en la consola:

make-kpkg clean
make-kpkg -initrd --revision=ck1 kernel_image
Si no hay errores de creará un ".deb" en /usr/src.
Para instalarlo:
sudo dpkg -i kernel-image-2.6.22*.deb
Reinicia y todo debería funcionar
uname -r
Comprueba que usas ya el nuevo kernel

3 comentarios:

  Anónimo

5 de septiembre de 2007, 14:07

¿Cómo que aumentar drásticamente el rendimiento de Linux? ¿Qué hace exactamente? Si el parche es tan bueno, ¿por qué no está directamente en el código del kernel?

  Jesús

5 de septiembre de 2007, 15:41

Comentarios ,muy ciertos.De hecho lo probe y el rendimiento se va al piso

  Alginros

5 de septiembre de 2007, 16:32

El parche no está en el kernel porque Con Kolivas ha dejado el grupo que desarrolla el Kernel de Linux por "diferencias" con Linus Torvalds. Esa es la razón. De hecho, este parche iba a ser la "novedad" en eficiencia que traería el kernel 2.6.22, pero a Linus no le gustaba así que han puesto el de Ingo Molnar, el CFS (completely fair scheduler).

Personalmente no entro en la polémica que quien lleva más razón porque creo que tanto Kolivas como Torvalds llevan parte de razón.