Patch de 4 linhas para acelerar o Linux (Fedora 14)
Dica publicada em Linux / Configuração
Patch de 4 linhas para acelerar o Linux (Fedora 14)
Certo dia, vi uma notícia bastante animadora: um patch de apenas 200 linhas de código do kernel Linux capaz de melhorar o desempenho do sistema em até 60x (isso mesmo, sessenta). É uma pena que, pra testar, seria necessário fazer o download do kernel, aplicar o patch, configurar, compilar e torcer pra dar certo...
Foi então que li esta notícia em que um desenvolvedor da Red Hat mostrava como conseguir resultados ainda melhores utilizando apenas 4 linhas de código (na verdade são 6, como vocês verão depois) no espaço do usuário, o que quer dizer que pode ser feito no kernel padrão (e não precisa nem reiniciar o computador).
É óbvio que eu fui testar na mesma hora no meu Fedora 14. Os procedimentos não funcionaram de primeira, investiguei e achei uma postagem que explicava que o problema era causado por uma particularidade do Fedora, especificamente as versões 13 e 14, onde o cgroup fica configurado em /cgroup ao invés de em /sys/cgroup.
Com poucas modificações, consegui finalizar a configuração e, devo dizer, me surpreendi muito com o resultado.
Agora, chega de papo-furado. Para habilitar esse recurso no Fedora 13 e 14, faça o seguinte:
# yum -y install libcgroup
# service cgconfig restart
# chkconfig cgconfig on
# touch /etc/profile.d/speedup.sh
# chmod +x /etc/profile.d/speedup.sh
Depois, edite o arquivo /etc/profile.d/speedup.sh e adicione as 4 linhas abaixo.
Depois, edite o arquivo /etc/rc.local e adicione as 2 linhas abaixo.
Não é necessário reiniciar o computador para testar os resultados, basta executar o comando abaixo (como root) e depois fazer logout.
# bash /etc/rc.local
A diferença é imediata. O sistema vai responder muito mais rapidamente, dando a impressão de que você está utilizando outro computador, muito mais poderoso.
Fonte: davidsonpaulo.blogspot.com
Foi então que li esta notícia em que um desenvolvedor da Red Hat mostrava como conseguir resultados ainda melhores utilizando apenas 4 linhas de código (na verdade são 6, como vocês verão depois) no espaço do usuário, o que quer dizer que pode ser feito no kernel padrão (e não precisa nem reiniciar o computador).
É óbvio que eu fui testar na mesma hora no meu Fedora 14. Os procedimentos não funcionaram de primeira, investiguei e achei uma postagem que explicava que o problema era causado por uma particularidade do Fedora, especificamente as versões 13 e 14, onde o cgroup fica configurado em /cgroup ao invés de em /sys/cgroup.
Com poucas modificações, consegui finalizar a configuração e, devo dizer, me surpreendi muito com o resultado.
Agora, chega de papo-furado. Para habilitar esse recurso no Fedora 13 e 14, faça o seguinte:
# yum -y install libcgroup
# service cgconfig restart
# chkconfig cgconfig on
# touch /etc/profile.d/speedup.sh
# chmod +x /etc/profile.d/speedup.sh
Depois, edite o arquivo /etc/profile.d/speedup.sh e adicione as 4 linhas abaixo.
if [ "$PS1" ] ; then
mkdir -m 0700 /cgroup/cpu/user/$$
echo $$ > /cgroup/cpu/user/$$/tasks
fi
mkdir -m 0700 /cgroup/cpu/user/$$
echo $$ > /cgroup/cpu/user/$$/tasks
fi
Depois, edite o arquivo /etc/rc.local e adicione as 2 linhas abaixo.
dir=/cgroup/cpu/user ; [ -d "$dir" ] || mkdir -m 0777 "$dir"
mount -t cgroup cgroup "$dir" -o cpu ; chmod 0777 "$dir"
mount -t cgroup cgroup "$dir" -o cpu ; chmod 0777 "$dir"
Não é necessário reiniciar o computador para testar os resultados, basta executar o comando abaixo (como root) e depois fazer logout.
# bash /etc/rc.local
A diferença é imediata. O sistema vai responder muito mais rapidamente, dando a impressão de que você está utilizando outro computador, muito mais poderoso.
Fonte: davidsonpaulo.blogspot.com
Aliás, esperava que o login fosse mais rápido também, mas continua lento. Ouvi algo sobre se notar essa diferença mais quando se tem muitos aplicativos abertos, o que não é o meu caso. Pode ser isso, sei lá.