[CentOS-es] Alternativa más simple al parche de 200 líneas que mejora respuesta del núcleo de Linux.
Leandro Blanco
lblancoamat en gmail.com
Sab Nov 20 21:10:46 EST 2010
Hace unosdías publicamos un artículo
<http://www.alcancelibre.org/article.php/parche-200-lineas-linux-hace-maravillas>referenteal
parche de 200 líneas para el núcleo de Linux
<http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1>que
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.html>yLKML.org
<http://lkml.org/lkml/2010/11/16/413>.
Más información sobre la lista de distribución CentOS-es