Mostrando postagens com marcador kernel. Mostrar todas as postagens
Mostrando postagens com marcador kernel. Mostrar todas as postagens

sábado, novembro 20, 2010

Deixando o Ubuntu Linux mais rápido sem aplicar o patch de 200 linhas

Saiu nesta semana q passou um patch (partes modificadas de um programa) que prometeu melhorar a performance no Kernel (núcleo) Linux.
O pessoal da RedHat rebateu informando que é possível fazer esta modificação sem precisar mexer no Kernel.
O site http://blog.coderepository.net/2010/11/19/otimizando-o-kernel-de-seu-desktop-linux/ fez o teste do mesmo e segundo informações postada é sensível a melhora.

Reproduzo o conteúdo do site (sem autorização do autor):

Otimizando o Kernel de seu Desktop Linux

Há três dias (16/11/2010) foi divulgado pela Phoronix um patch de cerca de 200 linhas de código que é milagroso muito bom e aumenta a velocidade do seu Desktop Linux. O próprio Linus comentou que o código era muito bom! Basicamente o que ele faz é usar o novo agendador de processos chamado Brain Fuck Scheduler (nome sugestivo hein!!! deve ser meio complexo né?)
Logo em seguida Lennart Poettering, um desenvolvedor da Red Hat,  sugeriu uma pequena mudança no arquivo /etc/rc.local e no ~/.bashrc do usuário que realiza a mesma tarefa que o patch, sem a necessidade de recompilar o kernel. Na verdade foram feitos alguns testes de performance e chegaram a dizer que a solução proposta for Lennart era melhor do que o Patch:
"OK, I've done some tests and the result is that Lennart's approach seems
to work best. It also _feels_ better interactively compared to the
vanilla kernel and in-kernel cgrougs on my machine. Also it's really
nice to have an interface to actually see what is going on. With the
kernel patch you're totally in the dark about what is going on right
now." (http://lkml.org/lkml/2010/11/16/392)
Testei o patch divulgado mas encontrei alguns erros para habilitá-lo no Ubuntu 10.10, portanto segue a versão corrigida por mim e com algumas melhorias.
Abra o terminal e em seguida faça os seguintes procedimentos:
1) Editar arquivo rc.local
1
marcelo@marcelo$ sudo gedit /etc/rc.local
Insira as seguintes linhas ANTES do “exit 0”:
1
2
3
4
5
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 e feche.
O rc.local já deverá possuir permissão de execução, mas por garantia vamos dar a permissão novamente:
1
marcelo@marcelo$ sudo chmod +x /etc/rc.local
2) Criar arquivo cgroup_clean
1
marcelo@marcelo$ sudo gedit /usr/local/sbin/cgroup_clean
Insira as seguintes linhas no arquivo:
1
2
3
4
#!/bin/sh
if [ "$1" != "/user" -a "$1" != "/user/" ]; then
 rmdir /dev/cgroup/cpu$1
fi
Salve e feche.
Vamos dar permissão de execução para o arquvo:
1
marcelo@marcelo$ sudo chmod +x /usr/local/sbin/cgroup_clean
3) Editar o arquivo /etc/bash.bashrc
1
marcelo@marcelo$ sudo gedit /etc/bash.bashrc
Inserir as seguintes linhas no começo do arquivo:
1
2
3
4
if [ "$PS1" ] ; then
mkdir -m 0700 /dev/cgroup/cpu/user/$
echo $ > /dev/cgroup/cpu/user/$/tasks
fi
4) Reinicie o computador
Feito! Aproveite seu linux mais rápido!

terça-feira, outubro 16, 2007

Instalando Kernel de desenvolvimento no OpenSuse Linux

É possível colocar o kernel de desenvolvimento (fábrica) no OpenSuse que utiliza.
A pergunta básica, e o que eu ganho com isso?

Correções de kernel, suporte a novos periféricos, e principalmente velocidade. As novas versões tem melhorado no quesito desempenho.

Descobrir o que esta instalado o seu computador para baixar o pacote correto:
# uname -a
A minha saída por exemplo é:
Linux nbti 2.6.23-gbbf25010-22-default #bbf25010f1a6b761914430f5fca081ec8c7accd1 SMP 2007/31/09 22:31:3 i686 i686 i386 GNU/Linux

Estou usando o kernel-default ;)

De posse da informação do pacote a ser instalado é só baixar em:
http://download.opensuse.org/repositories/Kernel:/Vanilla/SUSE_Factory/i586/

Os comandos de instalação:
# rpm -Uvh nome-do-pacote.rpm
# SuSEconfig

Este último é um aplicativo (necessário) que faz as mudanças necessárias no sistema após a instalação de pacotes manual.

No próximo post vou mostrar como utilizar o smart para executar este mesmo procedimento que é bem mais fácil.

Ops. Eu ia me esquecendo de um detalhe, *nunca* utilize kernel de desenvolvimento em máquinas de produção como servidores ou estações de missão crítica.