miércoles, 24 de noviembre de 2010

Sustitución alternativa del Parche del Kernel para Ubuntu

El famoso parche de 200 líneas para el Kernel de Linux, que aumenta por mucho el rendimiento de nuestro PC, y que al parecer Linus Torvalds pretende implementar de forma definitiva en las próximas versiones del Kernel. Tiene su versión reducida a nivel de Usuario descubierta por Lennart Poettering, que en tan solo unas pocas líneas consigue los mismos resultados.
No soy muy amigo de trastear el Kernel, ya que con el mínimo error puede dar al traste todo el sistema.
Me he decidido a probar este último, que a mi entender no conlleva practicante riesgo alguno y se realiza en 3 simples pasos.
El proceso a seguir es el siguiente:


Abrimos un Terminal (lo mantenemos abierto hasta que finalicemos todos los pasos) y ponemos abrimos el siguiente archivo con:
  • sudo gedit /etc/rc.local

 En el archivo resultante ponemos las siguientes líneas de código antes de exit 0...

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

...quedando tal como muestra la imagen:

Guardamos y Cerramos esta ventana, y en el Terminal le damos permiso de Ejecución a este archivo de este modo:
  • sudo chmod +x /etc/rc.local

Ahora toca editar nuestro archivo personal de Usuario bashrc, y lo realizaremos poniendo la siguiente línea en el terminal:
  • gedit ~/.bashrc


Al final del archivo que se nos abra añadimos las siguientes líneas de código...

if [ "$PS1" ] ; then
mkdir -m 0700 /dev/cgroup/cpu/user/$
echo $ > /dev/cgroup/cpu/user/$/tasks
echo "1" > /dev/cgroup/cpu/user/$/notify_on_release
fi
...quedando tal cual como muestra imagen:


Guardamos y Cerramos esta ventana.

Por último editamos o creamos el siguiente archivo desde el Terminal poniendo la siguiente línea:
  • sudo gedit /usr/local/sbin/cgroup_clean

En el archivo que se nos abra, añadimos las siguientes líneas de código...
#!/bin/sh
rmdir /dev/cgroup/cpu/$*
...quedando tal cual como muestra imagen:



Guardamos y Cerramos esta ventana, y en el Terminal le damos permiso de Ejecución a este archivo de este modo:
  • sudo chmod +x /usr/local/sbin/cgroup_clean

Ya podemos cerrar el Terminal y reiniciar el sistema para que se realicen los cambios.

Como siempre, antes de publicar nado lo pruebo personalmente. Debo decir que he notado una mejoría pero tampoco tanto como se comenta. Aunque también se dice que realmente lo notan muchísimo más los que someten a su Pc a un gran estrés.

Más información

2 comentarios:

  1. Amigo Frannoe:
    Gracias por tus explicaciones tan claras y sencillas, pero antes de hacer algún cambio, me gustaría asegurarme de algo:
    ¿Que pasa cuando se actualiza el kernel?
    ¿Es necesario volver a hacer algo más?

    ResponderEliminar
  2. Hola Tomás, con este método no se toca el Kernel para nada.
    Al parecer, éste provoca los mismos efectos que el Kernel parchado de 200 líneas (Una maravilla según dicen algunos).
    Yo no he notado gran diferencias, osea que no sabría decirte si realmente es verdad que provoca los mismos efectos ya que no quiero instalar el Kernel parcheado. Prefiero esperarme a la actualización oficial.
    Hacer pruebas con el Kernel en máquinas estables y de trabajo, nos puede acarrear muchos problemas y muchas horas de quebraderos de cabeza. Si tenemos la suerte de tener otra y usarla como conejillo de pruebas. Yo no dudaría en probarlo.
    Saludos
    Frannoe

    ResponderEliminar