Fa uns dies em vaig decidir a aplicar el famós “Parche” de les 200 línies però sense recompilar el kernel i fent servir la solució que va donar Lennart Poettering, un desenvolupador de Red Hat i que s’aplica a nivell d’usuari.

A continuació explico les passes que vaig fer servir en una Ubuntu i que son diferents a les passes a seguir en cas de utilitzar distribucions com Red Hat o Suse per exemple.
Primer de tot editarem l’arxiu rc.local localitzat al directori etc i afegirem 4 línies abans del Exit 0.

nano /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

Guardem i seguidament anem a crear l’arxiu cgroup_clean dins de /usr/local/sbin

touch /usr/local/sbin/cgroup_clean

Editem l’arxiu creat

nano cgroup_clean

Dins afegirem aquestes dues línies

#! /bin/sh
rmdir /dev/cgroup/cpu/$*

Per acabar editarem .bashrc localitzat a dins el nostre Home

nano .bashrc

i afegim

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

Fet això només ens queda donar permisos d’execució a rc.local i cgroup_clean

chmod +x /etc/rc.local
chmod +x /usr/local/sbin/cgroup_clean

Ja em acabat, només falta reiniciar o simplement executar

sudo /etc/rc.local

Fins el moment no he notat grans millores en el rendiment de la màquina, cert és que tampoc l’he posat a alts nivells de CPU que és on més es notaria.

Ara només queda un dubte, que passarà amb aquestes modificacions quan surti la versió 2.6.37 de kernel on ja vindran incorporades aquestes millores? Serà incompatible amb aquests canvis?