Pular para o conteúdo

Dica para melhorar a performance (aprovado por Linus Torvalds)

Dica publicada em Linux / Kernel
Ariel ygc210305
Hits: 17.445 Categoria: Linux Subcategoria: Kernel
  • Indicar
  • Impressora
  • Denunciar

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:
Nenhuma dica encontrada.

Solução para erro ao boot: CouId not find kerneI image

Failed to overwrite statefile

High System Timer Resolution

Kernel Debian no Funtoo

pf-Kernel 3.16 - Acelere o Ubuntu, Linux Mint e Debian em net/notebooks

#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.
#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

Entre na sua conta para comentar.