você está aqui: Home  → Arquivo de Mensagens

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

Opinião dos Leitores

Raul Libório
08 Dez 2010, 05:06
Obrigado lixoeletronico :)
Realmente precisava desse esclarecimento, abraços.
Frank
07 Dez 2010, 08:54
Agora soh falta para o slackware (ou um dica "generica"/passo a passo) !
lixoeletronico
07 Dez 2010, 06:23
Este novo escalonador é eficaz em situações específicas, e só tem utilidade real quando aplicativos baseados em linha de comando estão "utilizando" muitos ciclos de cpu (exemplo: compilação do kernel usando um terminal).

O funcionamento do script é simples: ele agrupa todos os aplicativos que não são de terminal em um grupo com alta prioridade de CPU, e os aplicativos de linha de comando ficam agrupados em grupos com baixa prioridade de CPU.

Em resumo: se o seu problema for navegar na internet enquanto compila o kernel ou copia arquivos usando linha de comando, este escalonador vai te ajudar...

agora se o seu problema é um monte de abas do firefox abertas com animações em flash, e o sistema fica lento, então este script não vai te ajudar.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script