você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Script para melhorar o escalonador de processos do Linux no openSUSE

Colaboração: Raul Libório

Data de Publicação: 07 de dezembro de 2010

A resenha do mundo GNU agora é um novo patch de 200 linhas que melhora o desempenho do escalonador de processos. Depois, veio um sacaninha da red Hat e fez a mesma coisa, só que sem patch nenhum, só usando um pacote e configurando umas besteirinhas. #RedHatFuckYea \o/

Sou meio incrédulo quanto ao desempenho dessa dica, mas, muitas pessoas disseram que realmente funciona. Acho que meu problema é que meu hardware atende minhas necessidades, não é nenhuma máquina monstra mas faz o que é necessário com louvor :D

Como recentemente perguntam na lista de emails do openSUSE-PT onde ficava o rc.local e aqui no Dicas-L já sairam 2 artigos de como fazer isso, fiz e vi que a dica é bastante simples. Então fiz um script. Basicamente ele verifica se o libcgroup1 está instalado, caso não esteja, ele instalará. Depois adiciona uma entrada no /etc/rc.d/boot.local e depois no .bashrc do root. Só :)

Enfim, vamos ao script:

#! /bin/bash
# Otimiza o desempenho do desktop
# Raul Liborio, rauhmaru@opensuse.org, 04122010
# http://rauhmaru.blogspot.com

# -- VARIAVEIS
BOOTLOCAL=/etc/rc.d/boot.local
INSTALL="zypper in -y libcgroup1"
MSG="Apenas root pode realizar essa tarefa.
BASHRC='
if [ "$PS1" ] ; then\n
    mkdir -p -m 0700 /cgroup/cpu/user/$$\n
    echo $$ > /cgroup/cpu/user/$$/tasks\n
fi
'
escalonador(){                                                                                                                              
   chkconfig cgconfig on                                                                                                                    
   echo "/bin/mkdir -m 0777 /cgroup/cpu/user" >> $BOOTLOCAL                                                                                 
   echo -e $BASHRC >> ~/.bashrc                                                                                                             
} 

# -- CORE
[ "$USER" != "root" ] && echo $MSG; exit 1
[ -f /lib/libcgroup.so.1 ] && escalonador && exit 0 || $INSTALL &&
escalonador && exit 0


# -- fim do post


Veja a relação completa dos artigos de Raul Libório