Pular para o conteúdo

Patch de 4 linhas para acelerar o Linux (Fedora 14)

Dica publicada em Linux / Configuração
Davidson Rodrigues Paulo davidsonpaulo
Hits: 12.355 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

if [ "$PS1" ] ; then
  mkdir -m 0700 /cgroup/cpu/user/$$
  echo $$ > /cgroup/cpu/user/$$/tasks
fi
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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"

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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Mixagem ao vivo? É com o Mixxx

Você conhece o NetbootCD?

Remover rodapé dos erros do Squid sem recompilar

Instalando fontes do Android no Slackware/Zenwalk

Fedora 7 Live: instalação em computadores com pouca RAM

[ LinuxTips ] - Gerenciamento de Logs com o Sensacional Graylog, ElasticSearch e MongoDB

Window Maker 0.95.3 no Debian Wheezy - Instalação via repositórios oficiais

Criando uma ISO personalizada do Linux Mint 18

Ubuntu mais rápido

Ubuntu 10.10: Resolvendo problema com Empathy

#1 Comentário enviado por eldermarco em 09/12/2010 - 11:17h
Eu já cheguei a fazer esses procedimentos, mas no meu caso, não notei grandes diferenças.. =/

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á.
#2 Comentário enviado por davidsonpaulo em 09/12/2010 - 11:36h
Elder, até agora eu realizei esses procedimentos em dois computadores: na minha estação de trabalho da empresa e no netbook de casa. Na estação de trabalho a diferença foi gritante, mas no netbook de casa não houve nenhuma melhora perceptível. A maior diferença entre esses dois computadores é o acelerador gráfico (placa de vídeo). Talvez em computadores com vídeo furreca esse patch não consiga fazer muita diferença.
#3 Comentário enviado por eldermarco em 09/12/2010 - 12:29h
Então, no meu caso tenho uma Nvidia, conforme saída do comando 'lspci | grep VGA', abaixo:

00:10.0 VGA compatible controller: nVidia Corporation C73 [GeForce 7050 / nForce 610i] (rev a2)

Mas é uma placa on board. No entanto, isso não está ligado diretamente ao acelerador gráfico, está? Bom, não li os pormenores desse patch, então não sei exatamente o que ele faz para aumentar tanto o desempenho assim.. =)
#4 Comentário enviado por removido em 09/12/2010 - 13:02h
Apliquei o Patch no Ubuntu, o ganho foi perceptível.
O tempo de resposta diminuiu na abertura de aplicativos pesados (como o OpenOffice) e cálculos complexos com a planilha eletrônica.
O Synaptic, por exemplo, abre quase que instantâneamente. Sem exageros pessoal, por incrível que pareça.
#5 Comentário enviado por removido em 09/12/2010 - 13:52h
No mint 10, maverick 10, o ganho só ocorreu com aplicativos pesados, como disse o colega izaias. De resto, nada assssssim tão esplendoroso mas já é alguma coisa... Embora não tenha chego aos pés do mepis linux 11 com seu kernel patcheado nao-sei-com-quê ultra rápido.
#6 Comentário enviado por pinduvoz em 09/12/2010 - 16:47h
Bom, e como se aplica esse patch em outras distros?
#9 Comentário enviado por pinduvoz em 09/12/2010 - 19:18h
Obrigado, Izaias e davidsonpaulo.

Vou tentar o patch no PCLinuxOS, já que estou sem Ubuntu aqui.
#10 Comentário enviado por pinduvoz em 10/12/2010 - 06:20h
Testei.

Parece que meu AA1 ficou um pouco mais esperto.

Agora vou testar no notebook, que já é muito rápido.
#11 Comentário enviado por pinduvoz em 10/12/2010 - 06:48h
Não parece. Ficou mesmo.

Deu para notar de maneira mais evidente conforme eu fui usando.
#12 Comentário enviado por removido em 10/12/2010 - 10:39h
Muito bom né Pinduvoz!

Aliás, esqueci de cumprimentar o Davidson.
A maioria dos sites só disponibilizaram o Patch já adaptado para o Ubuntu(ou Debians-Like), mas e os outros sistemas? Só existe Ubuntu?

Ótima Dica Davidson!

(Dicas deveriam ter opção de nota, são tão importantes quanto os Artigos)
#13 Comentário enviado por pinduvoz em 10/12/2010 - 14:05h
No PCLinuxOS edita-se "/etc/rc.d/rc.local", pois "/etc/rc.local" é um link para o arquivo anterior.

E segui o link fornecido pelo Izaias.
#14 Comentário enviado por batista em 11/12/2010 - 15:28h
Excelente Dica. Parabens ao davisonpaulo.
Segui a dica tambem do link http://blog.coderepository.net/2010/11/19/otimizando-o-kernel-de-seu-desktop-linux/ , para testar no meu Zenwalk Linux 6.4 e nao deu nenhum erro apos reiniciar o sistema.
Conforme fui usando os programas(OOffice,vlc,Icecat,)o sistema respondeu muito bem,mesmo meu notebook tendo uma placa VGA da SiS e chipset tambem com apenas 750 de RAM.
Se alguem conseguiu testar no Slackware e teve sucesso e bom comentar...
#15 Comentário enviado por rfcsilva em 26/12/2010 - 15:52h
Boa tarde!
Antes de qualquer coisa parabéns pela dica, e será que é possível aplicar este procedimento no Debian 5.07, e caso haja erro, o que fazer.
#16 Comentário enviado por removido em 27/12/2010 - 09:52h
A dica funfou no ubuntu/mint somente após eu habilitar o gerenciamento de energia "ondemand".
#17 Comentário enviado por jucimar_setubal em 27/12/2010 - 18:46h
Olá Davidson!

Estou utilizando o Fedora 14, fiz o passo-a-passo para habilitar este recurso e sempre aparece este erro:
"mkdir: é impossível criar o diretório "“/cgroup/cpu/user”": Arquivo ou diretório não encontrado
mount: o ponto de montagem “/cgroup/cpu/user” não existe
chmod: impossível acessar "“/cgroup/cpu/user”": Arquivo ou diretório não encontrado"

Tentei manualmente fazer as alterações com o chmod nas pastas, mas não conseguir exito. Sou iniciante, buscando grandes mudanças.
Se puder me ajudar a corrigir para habilitar o recurso eu agradeço.

Um forte abraço!
#18 Comentário enviado por davidsonpaulo em 27/12/2010 - 22:10h
Jucimar, parece que o serviço cgroup não está rodando. Você tem certeza de que executou os comandos abaixo, como instruído no começo da dica?

# yum -y install libcgroup
# service cgconfig restart
# chkconfig cgconfig on

Obs.: os # não fazem parte dos comandos
#19 Comentário enviado por jucimar_setubal em 27/12/2010 - 22:55h
Sim!!! Executei todos os passos como o instruído Davidson. Sei também que "#" faz parte do linux no momento em que você passa para o modo root.
Estava neste momento verificando no "top" - Gerenciador de serviços se havia sido iniciado e não encontrei, ele fica no gerenciador?
Ainda continua aparecendo a mesma mensagem, será que não é justamente as permissões?

#20 Comentário enviado por dsbonafe em 26/01/2012 - 00:51h
O script se mantém o mesmo no Fedora 16? Abç.
#21 Comentário enviado por davidsonpaulo em 26/01/2012 - 09:33h
No Fedora 16 não é necessário utilizar esse script, porque as funções executadas pelo patch for incorporadas por padrão ao sistema.

Contribuir com comentário

Entre na sua conta para comentar.