Fechar


Otimizando o Kernel de seu Desktop Linux (Por Marcelo Diotto)

Há três dias (16/11/2010) foi divulgado pela Phoronix um patch de cerca de 200 linhas de código que é milagroso muito bom e aumenta a velocidade do seu Desktop Linux. O próprio Linus comentou que o código era muito bom! Basicamente o que ele faz é usar o novo agendador de processos chamado Brain Fuck Scheduler (nome sugestivo hein!!! deve ser meio complexo né?)

Logo em seguida Lennart Poettering, um desenvolvedor da Red Hat, sugeriu uma pequena mudança no arquivo /etc/rc.local e no ~/.bashrc do usuário que realiza a mesma tarefa que o patch, sem a necessidade de recompilar o kernel. Na verdade foram feitos alguns testes de performance e chegaram a dizer que a solução proposta for Lennart era melhor do que o Patch:

"OK, I've done some tests and the result is that Lennart's approach seems
to work best. It also _feels_ better interactively compared to the
vanilla kernel and in-kernel cgrougs on my machine. Also it's really
nice to have an interface to actually see what is going on. With the
kernel patch you're totally in the dark about what is going on right
now." (http://lkml.org/lkml/2010/11/16/392)

Testei o patch divulgado mas encontrei alguns erros para habilitá-lo no Ubuntu 10.10, portanto segue a versão corrigida por mim e com algumas melhorias.

Abra o terminal e em seguida faça os seguintes procedimentos:

1) Editar arquivo rc.local:

sudo gedit /etc/rc.local

Insira as seguintes linhas ANTES do “exit 0”:

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

Salve e feche.

O rc.local já deverá possuir permissão de execução, mas por garantia vamos dar permissão novamente:

sudo chmod +x /etc/rc.local


2) Criar arquivo cgroup_clean

sudo gedit /usr/local/sbin/cgroup_clean

Insira as seguintes linhas no arquivo.

#!/bin/sh
if [ "$1" != "/user" -a "$1" != "/user/" ]; then
rmdir /dev/cgroup/cpu$1
fi

Salve e feche.

Vamos dar permissão de execução para o arquivo:

sudo chmod +x /usr/local/sbin/cgroup_clean


3) Editar o arquivo /etc/bash.bashrc

sudo gedit /etc/bash.bashrc

Inserir as seguintes linhas no começo do arquivo:

if [ "$PS1" ] ; then
mkdir -m 0700 /dev/cgroup/cpu/user/$
echo $ > /dev/cgroup/cpu/user/$/tasks
fi


4) Reinicie o computador