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/
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:
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.
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
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
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!
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 :)
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.
Postar um comentário