Dica para melhorar a performance (aprovado por Linus Torvalds)

Publicado por Ariel em 18/02/2011

[ Hits: 16.729 ]

 


Dica para melhorar a performance (aprovado por Linus Torvalds)



Boa tarde.

Hoje irei postar minha primeira dica, busquei e não encontrei nada postado a este respeito, peço desculpas se for repetido.

Esta dica foi postada originalmente em slashdot.com, trata-se de um patch de kernel na qual segundo o próprio Linus aumentaria muito a resposta do sistema, principalmente em multitarefas que exigem muita CPU.

Logo em seguida, um dos desenvolvedores da Red Hat, respondeu para Linus que existe uma forma mais fácil de conseguir os mesmos resultados sem aplicar o patch. Eu testei a alternativa e funcionou muito bem, fez maravilhas, inclusive na navegação na internet que eu achava que dependia apenas da velocidade de conexão.

Modo 1 (não funciona no Ubuntu)

Adicionar as seguintes linhas em seu ~/.bashrc:

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

Agora, como superusuário, utilize os seguintes comandos:

# mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
# mkdir -m 0777 /sys/fs/cgroup/cpu/user


Reinicie e observe se houve melhorias.

Modo 2 (Ubuntu)

Abra uma janela do terminal.

cd
$ wget
http://launchpadlibrarian.net/59511828/cgroup_patch
chmod +x cgroup_patch
$ sudo ./cgroup_patch


Reinicie.

Você poderá visualizar ainda maior ganho de performance ao lançar o programa que quiser utilizar através do terminal.

Espero que gostem e me digam depois se funciona para vocês.

Fontes:
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Como omitir/filtrar mensagens inúteis no log (rsyslogd)

Instalação da placa de rede Attansic no Slackware Linux 12.1

Problemas com kernel 2.6.10 no Slackware 10

Dicas de compilação de kernel

Diretório /run nas distribuições Linux

  

Comentários
[1] Comentário enviado por removido em 18/02/2011 - 14:34h

Interessante, não tinha visto ainda. Valeu mesmo!
Abraço

[2] Comentário enviado por fdavid em 18/02/2011 - 16:45h

Alguem sabe explicar como a magica funciona e por que ?

[3] Comentário enviado por zeponi em 18/02/2011 - 17:46h

Acabou chamando minha atenção, procurei um pouco na net. Que consegui achar é que pessoal falou que realmente funciona, maior briga agora é saber qual é melhor, código feito pelo Linus ou pelo Lennart. Segue os links onde achei mais sobre o assunto:
http://cco.linkedej.com.br/geral/linux-recebe-patch-miraculoso-e-linus-torvalds-ownado/
http://blog.internetnews.com/skerner/2010/11/forget-200-lines-red-hat-speed.html

[4] Comentário enviado por Räfael em 18/02/2011 - 20:59h

Não notei muita coisa...

[5] Comentário enviado por removido em 19/02/2011 - 01:32h

Apliquei no Ubuntu quando o Patch tinha sido divulgado. Aqui fez diferença.
Aplicativos como o Synaptic e OpenOffice abrem agora em bem menos tempo que antes. Navegadores também.

Faz um tempo que estou tentando aplicar isso no Slack e não encontrei nada até agora.
Apliquei sua Dica nele e quando dou o comando: mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu , o terminal retorna com a mensagem: mount: mount point /sys/fs/cgroup/cpu does not exist

Talvez o Patch como está, não seja aplicável no Slack.

[6] Comentário enviado por annakamilla em 19/02/2011 - 12:02h

quer dizer então que a maneira numero 1 adianta no slack ??

[7] Comentário enviado por removido em 19/02/2011 - 12:06h

Veja meu comentário, Anna.
Não consegui, pelo menos da maneira que está não dará certo no Slack.

Será que colocando o Patch em ' /etc/rc.d/rc.local' daria certo?
Tenho medo de colocar e dar zebra aqui. Meu Slack está super-redondinho. rs

Tenta aí Anna! rsrs

[8] Comentário enviado por slacklex em 19/02/2011 - 12:18h

Blz! Apliquei no Ubuntu 10.04 e funcionou, ótima dica!

[9] Comentário enviado por removido em 19/02/2011 - 12:31h

Curioso! Não existe 'cgroup' no Slack.
Procurei em '/etc/group' e só encontrei 'nogroup'.

Será que o diretório 'cgroup' deve ser criado? Mas criado onde?

[10] Comentário enviado por removido em 19/02/2011 - 12:50h

o que fiz em meu Debian Squeeze:

Editei arquivo rc.local:

# nano /etc/rc.local

Inseri 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

Salvei e fechei.

O rc.local já deveria possuir permissão de execução, mas por garantia dei permissão novamente:

# chmod +x /etc/rc.local


2) Criei o arquivo cgroup_clean

# nano /usr/local/sbin/cgroup_clean

Insiri as seguintes linhas no arquivo:

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

Salvei e fechei.

Dei permissão de execução para o arquvo:

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


3) Editei o arquivo /etc/bash.bashrc

# nano /etc/bash.bashrc

Inseri as seguintes linhas no começo do arquivo:

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


e pronto é reiniciar o PC e ver se melhora o desempenho.


* onde li? provavelmente no BR-Linux.

mais:


http://br-linux.org/2009/con-kolivas-e-ingo-molnar-benchmarks-do-novo-escalonador-para-o-desktop-com...

http://br-linux.org/2009/con-kolivas-volta-a-contribuir-para-o-kernel-linux/

http://br-linux.org/2009/bfs-con-kolivas-ressurge-com-um-novo-escalonador/


[11] Comentário enviado por annakamilla em 19/02/2011 - 13:03h

mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
mount: o ponto de montagem /sys/fs/cgroup/cpu não existe
root@annakslack:/sys/fs# mkdir -m 0777 /sys/fs/cgroup/cpu/user
mkdir: é impossível criar o diretório "/sys/fs/cgroup/cpu/user": Arquivo ou diretório não encontrado

[12] Comentário enviado por removido em 19/02/2011 - 13:08h

Viu? O caminho é outro.
Para o Slack, talvez o diretório a ser criado seria em 'group'.

No Slack não existe '/etc/rc.local' e sim '/etc/rc.d/rc.local'.


[13] Comentário enviado por annakamilla em 19/02/2011 - 13:13h

achei o rc local do slack fica em /etc/rc.d/rc.local

[14] Comentário enviado por annakamilla em 19/02/2011 - 13:19h

izaias não tinha visto que vc postou

[15] Comentário enviado por removido em 19/02/2011 - 13:20h

Terei que pesquisar mais pra saber se pode instalar o Patch em '/etc/rc.d/rc.local'.
____________________________________
Tudo bem Anna, não tem problema.

[16] Comentário enviado por annakamilla em 19/02/2011 - 13:23h

achei http://www.linuxquestions.org/questions/slackware-14/alternative-to-200-lines-kernel-patch-sys-fs-cg.... tem que instalar lib

[17] Comentário enviado por removido em 19/02/2011 - 15:21h

Ôpa! Vou ver isso agora Anna.
Obrigado.

[18] Comentário enviado por removido em 19/02/2011 - 18:09h

Anna, não entendi o processo. Você conseguiu?

[19] Comentário enviado por annakamilla em 19/02/2011 - 19:47h

izaias vc tem que instalar a lib e criar as pastas apos o processo vc monta ele e depois faz um .bashrc como explicado no metodo 1, só que ainda não fiz

[20] Comentário enviado por removido em 19/02/2011 - 19:51h

Ah Anna, acho que não vou fazer isso não! rs
Vou esperar mais um pouco.

VLW garota.

[21] Comentário enviado por removido em 19/02/2011 - 20:24h

Anna, bateu uma dúvida: será que o Patch será incluído no Kernel ou somente a nível de usuário?
Eu prefiro instalar no Kernel. Acho que por isso que está dando erro nas tentativas.
Esse modelo é da Red Hat, e nesse modelo deve-se criar uma pasta para o usuário para aplicar o Patch e não diretamente no próprio Kernel.

Entendeu?

[22] Comentário enviado por annakamilla em 19/02/2011 - 20:35h

sim

[23] Comentário enviado por br_rafael em 20/02/2011 - 07:22h

A navegação na internet ficou um foguete. E melhorou o desempenho no Flash e em geral.

[24] Comentário enviado por andrezc em 20/02/2011 - 21:52h

Ótimo! Fiz a dica #2 em um Ubuntu 10.10, e agora ele ta travando direto. Só resolvo reiniciando. E agora ?

[25] Comentário enviado por ygc210305 em 21/02/2011 - 00:28h

@andrezc,
Basta desfazer as alterações

entre em /etc/rc.local e comente ou apague as seguintes linhas

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent
exit 0

Agora entre no etc/bash.bashrc e comente ou apague as seguintes linhas

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

Sem mais

[26] Comentário enviado por jcpalanca em 24/03/2011 - 16:53h

alguém sabe como acho esta lib para o centos ?

[27] Comentário enviado por removido em 02/04/2011 - 10:03h

Uso o Ubuntu 10.04, e segui os procedimentos do blog abaixo:
http://blog.coderepository.net/2010/11/19/otimizando-o-kernel-de-seu-desktop-linux/

Não arrisquei rodar esse script "cgroup_path" mostrado nessa dica, dei uma olhada meio por cima e pareçe que faz muita bagunça no sistema.

Notei que o flash ficou melhor (agora os vídeos do youtube rodam sem "lags"), acho que ficou melhor que o próprio flash do ruwindows.
Fora o flash, parece que programas pesados como o LibreOffice abrem mais rápido. Enfim, gostei! :-)

[28] Comentário enviado por m4cgbr em 25/10/2012 - 21:22h

Olá uso o Linux Mint e fiz o procedimento, realmente ficou mais rápido o lançamento dos aplicativos.

Eu tenho uma dúvida, este patch melhora é ideal somente para que usa o X, ou seja desktop ou isso ajuda tambm o carrgamento dos daemons em servidores que nem sequer tem o X, tipo servidor de e-mail, ftp, http enfim?

Agradeço se alguém puder me informar.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts