Otimizando o Kernel de seu Desktop Linux – Antes que ele se perca no mar…

Papai, deixa eu compilar o Kernel?
maio 12, 2011
Gerando números aleatórios em Shell Script
agosto 8, 2011

Otimizando o Kernel de seu Desktop Linux – Antes que ele se perca no mar…

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

 marcelo@marcelo$ 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 a permissão novamente:

marcelo@marcelo$ sudo chmod +x /etc/rc.local

2) Criar arquivo cgroup_clean

marcelo@marcelo$ 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 arquvo:

marcelo@marcelo$ sudo chmod +x /usr/local/sbin/cgroup_clean

3) Editar o arquivo /etc/bash.bashrc

marcelo@marcelo$ sudo gedit /etc/bash.bashrc

Inserir as seguintes linhas no começo do arquivo:

*Update: por algum motivo o $$ saiu como $ no comando abaixo. Agora está corrigido.

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

4) Reinicie o computador

Feito! Aproveite seu linux mais rápido!

 

FONTE : http://blog.coderepository.net/2010/11/19/otimizando-o-kernel-de-seu-desktop-linux/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *