Hace unosdías publicamos un artículo http://www.alcancelibre.org/article.php/parche-200-lineas-linux-hace-maravillasreferenteal parche de 200 líneas para el núcleo de Linux http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1que mejoraba dramáticamente la capacidad de respuesta del sistema. Pues bien, les tengo excelentes noticias: Lennart Poettering, desarrollador de Red Hat, ha enviado un mensaje a Linus Torvalds con una alternativa que hace losmismos resultados http://lkml.org/lkml/2010/11/16/392, con la diferencia de que solo requiere ejecutardos mandatos y añadir cuatro líneas a ~/.bashrc http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html. De acuerdo a Lennart, este método tiene aún mejores resultados que el parche de 200 líneas.*ACTUALIZADO 2010-10-20 16:00.*
Método para Fedora 13 y 14.
*Sugerencia*: activar e iniciar el servicio cgconfig (muchos suelen desactivar éste para optimizar el arranque del sistema). Como root ejecutar:
chkconfig cgconfig on service cgconfig start
Lo anerior hace que sea*innecesario ejecutar|mount -t cgroup -o cpu none /cgroup/cpu|*.
Para utilizar este métodocon Fedora 13 o 14 http://lkml.org/lkml/2010/11/16/413, cómo usuario, añadir lo siguiente en el fichero ~/.bashrc del usuario que se acostumbre utilizar:
if [ "$PS1" ] ; then mkdir -m 0700 -p /cgroup/cpu/user/$$ echo 1> /cgroup/cpu/user/$$/notify_on_release echo $$> /cgroup/cpu/user/$$/tasks fi
Como root, crear el fichero /bin/rmcgroup con si siguiente contenido:
#!/bin/bash rmdir /cgroup/cpu/$1
El fichero debe hacerse ejecutable:
chmod +x /bin/rmcgroup
Y como root, ejecutar lo siguiente:
mount -t cgroup -o cpu none /cgroup/cpu mkdir -p -m 0777 /cgroup/cpu/user echo "/bin/rmcgroup"> /cgroup/cpu/release_agent
Para que esto se ejecute automáticamente, puede añadirse lo anterior en /etc/rc.local, de la siguiente manera:
# El siguiente mount es innecesario si se activó el servicio cgconfig mount -t cgroup -o cpu none /cgroup/cpu> /dev/null 2>&1 # Necesario para permitir a los usuarios escritura en dicha ruta. mkdir -p -m 0777 /cgroup/cpu/user> /dev/null 2>&1 # Especificar que utilizar para liberar agente echo "/bin/rmcgroup"> /cgroup/cpu/release_agent
Método para Ubuntu.
Para utilizarlo en Ubuntu, como root hay que añadir lo siguiente al fichero /etc/rc.local:
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
Y hacer ejecutable a /etc/rc.local
sudo chmod +x /etc/rc.local
A continuación, se añade lo siguiente en el fichero ~/.bashrc del usuario que se acostumbre utilizar:
if [ "$PS1" ] ; then mkdir -p -m 0700 /dev/cgroup/cpu/user/$$> /dev/null 2>&1 echo $$> /dev/cgroup/cpu/user/$$/tasks echo 1> /dev/cgroup/cpu/user/$$/notify_on_release fi
Crear el fichero /usr/local/sbin/cgroup_clean con el siguiente contenido:
#!/bin/sh rmdir /dev/cgroup/cpu/$*
Hacer ejecutable /usr/local/sbin/cgroup_clean:
chmod +x /usr/local/sbin/cgroup_clean
Y finalmente, reiniciar el sistema.
Fuente de información:Web Upd8 http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.htmlyLKML.org http://lkml.org/lkml/2010/11/16/413.