Seguro que de estos días os suena (pues ya muchos sitios han hablado de ello) de una pequeña modificación al kernel que incrementaria el rendimiento. Bueno exactamente el rendimiento no, si no una mejora mediante la agrupación de procesos. Lee el primer comentario de este post para una explicación más detallada. Pues bien ese mismo efecto puede conseguirse simplemente con 4 lineas de scripting que un desarrollador de Red hat: Lennart Poettering, le envió a Linus Torvalds. Ha habido una acalorada discusión entre ellos, pero a mi esos minucias sin “demasiada importancia” ya no me interesan.
En principio para usar esta modificación bastaria con añadir:
if [ "$PS1" ] ; then
mkdir -m 0700 /sys/fs/cgroup/cpu/user/$$
echo $$ > /sys/fs/cgroup/cpu/user/$$/tasks
fi
Al final de nuestro fichero .bashrc y luego ejecutar como root:
mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
mkdir -m 0777 /sys/fs/cgroup/cpu/user
Esto en Ubuntu sin embargo no funciona (deberiamos cambiar /sys/fs por /dev), Asi que haremos lo siguiente:
Edita el fichero /etc/rc.local y añadimos (gedit /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
Al final de nuestro fichero .bashrc pondremos:
if [ "$PS1" ] ; then
mkdir -m 0700 /dev/cgroup/cpu/user/$$
echo $$ > /dev/cgroup/cpu/user/$$/tasks
fi
Y finalmente damos permisos de ejecucion:
sudo chmod +x /etc/rc.local
Tambien ejecutamos:
sudo gedit /usr/local/sbin/cgroup_clean
Le añadimos esto:
#!/bin/sh
rmdir /dev/cgroup/cpu/$*
guardamos, y convertimos este fichero a ejecutable:
sudo chmod +x /usr/local/sbin/cgroup_clean
y ahora ya reiniciamos o ejecutamos:
sudo /etc/rc.local
Respecto a la supuesta modificación, Los usuarios de desarrollo de Natty están muy contentos, pudieron insertar los cambios en la (proxima) versión 2.6.38 y ya llevan algun tiempo usandolo en los kernels de server.
Actualización | Gracias por los comentarios, la solución estaba incompleta y se puede encontrar via web Upd8. Lamento las molestias, me quede sin internet y no pude probarlo.
Fuentes | ElavDeveloper, Meneame
Comentarios recientes