Pesquisar este blog

quarta-feira, 9 de fevereiro de 2011

PATCH PARA O UBUNTU 10.10 QUE CHEGA EM ALGUMAS APLICAÇÕES A MULTIPLICAR POR 60 VEZES O DESEMPENHO


Sempre achei a latência do Kernel 2.6.35 do ubuntu 10.10 um pouco exagerada e isso se estendeu para o kernel 2.6.37 que vira no ubuntu 11.04,no entanto a própria canonical vai incluir o patch no ubuntu 11.04 para assim tornar o desempenho sobretudo em computadores de grande porte muito superior o que é hoje, mais para um netbook ou notebook e desktop de baixo desempenho esta correção parece um milagre pois pode aumentar o desempenho em ate sessenta vezes para alguns aplicativos, a solução abaixo descrita esta postada no blog tecnoblog, com patch inclusive para outras distros, entretanto para os usuários do ubuntu modifiquei o texto com algumas explicações adicionais e vou publicar com os devidos créditos e link para a postagem original, sendo o procedimento o seguinte:

Patch para Ubuntu:

No terminal, abra o arquivo rc.local com o comando:


sudo gedit /etc/rc.local

Com o arquivo aberto, insira as linhas abaixo antes da linha “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 o arquivo e feche. Agora dê direitos de execução para o arquivo rc.local:

sudo chmod +x /etc/rc.local

Agora, crie o arquivo cgroup_clean navegue ate a pasta /usr/local/sbin/ usando o nautilus como root chamando no terminal o comando sudo nautilus e crie o arquivo utilizando o botão direito do mouse com a opção criar documento-arquivo vazio e renomeie após a criação do arquivo para cgroup_clean

E insira no arquivo o conteúdo abaixo:

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

Salve o arquivo, feche e de direitos de execução para ele com o comando:

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

Agora edite o arquivo /etc/bash.bashrc

sudo gedit /etc/bash.bashrc

E insira as linhas abaixo logo no começo do arquivo:

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

Existe um erro de sintaxe no código acima que veio da postagem original, e isso pode gerar lentidão em algumas interfces, como o unity por exemplo, para que isso não ocorra basta abrir novamente o arquivo com sudo gedit /etc/bash.bashrc e acrescente mais um $ na linha echo $ > /dev/cgroup/cpu/user/$$/tasks e isso é que deixa o software livre bonito pois peguei uma postagem de um blog dei uma acrescentada no texto e logo os felizes comentários do usuário Anderson Henrique reportou o bug e o comentário do usuário SimãoHenriques deu a solução para o bug, e fez o ubuntu voar em todas as interfaces e o arquivo fica assim.

if [ "$PS1" ] ; then
mkdir -m 0700 /dev/cgroup/cpu/user/$$
echo $$ > /dev/cgroup/cpu/user/$$/tasks
fi
reinicie o computador e veja o resultado A postagem original sem as explicações adicionais além dos patch para outras distros são encontradas no link:

http://tecnoblog.net/48288/otimize-o-kernel-do-seu-linux-ubuntu-com-um-simples-patch/

6 comentários:

Anderson Henrique disse...

Ei, Hugo, o que aconteceu é o seguinte. Fiz exatamente tudo o que está no post. No Gnome, a velocidade aumentou e muito, mas quando vou utilizar o Unity, fica muito lento. Tem alguma solução.

SimãoHenriques disse...

Existe um bug nesse codigo

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

o correcto é:

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

Continuação de bons posts

Hugo Bastos disse...

comigo não ocorreu nada demais no ubuntu 10.10 64 bits com unity 2D é mais o simão henrique tem razão o código corrigido por ele realmente é melhor vou corrigir no blog

Unknown disse...

Boa tarde! Venho acompanhando seu blog alguns meses achei interessantes alguns posts que vc colocou sobre o xorg até segui sua sugestão, porenqto tá td certo no meu 10.10. Agora lendo esse post do patch me deu vontade de instalar, porém, tenho alguns receios por sou usuário iniciante-intermediário e fico com essa insegurança de dar errado alguma coisa. Abs e parabéns pelo blog!

Anderson (Chiro-san) disse...

Gustavo, deixo aqui como vão ficar os arquivos.
http://sadpanda.us/images/367883-ISMBHX3.png
http://sadpanda.us/images/367888-LUNISCW.png
http://sadpanda.us/images/367890-78D7BHF.png
Se ainda assim, tiver alguma dúvida, basta falar que provavelmente alguém poderá te ajudar. Abraços :)

Hugo Bastos disse...

Gustavo não fique com receio pois todos as modificações destes códigos caso haja alguma falha e o sistema não inicie novamente podem ser facilmente corrigida, basta antes de começar, fazer uma cópia dos arquivos originais, caso alguma coisa der errado, com a inicialização do sistema, inicie através do live cd e monte a partição do sistema o que é muito simples através do menu locais lá na barra superior do gnome, e como root o que se consegue chamando no terminal sudo gedit para editor de texto e sudo nautilus para gerenciador de arquivos, desfaça todas as modificações, mais atenção não é substituir os arquivos não faça isso simplesmente volte o conteúdo dos mesmos para o original a partir da cópia realizada e apague o arquivo que não existia, e tudo volta a ser como antes, por isso não tem perigo.