E) Regulando a memória dos processos
QUARTA e QUINTA ETAPAS que você pode fazer para acelerar o Sabayon: Regular a memória máxima alocada para cada um dos processos, daemons e/ou serviços.
Isto não é fácil de fazer, pois exige certo conhecimento e paciência para editar vários arquivos de configuração, mas pode ser feito com comandos, ou mesmo manualmente via interface gráfica, exemplo:
Mais fácil, não é.
Felizmente, existe uma solução rápida: instalar um pacote regulador automático da memória que cada processo usa, em um dado instante de tempo.
Ele atua fechando ou abrindo, "matando" ou "adormecendo", "acordando" ou recarregando os diversos serviços e processos e/ou, regulando a memória RAM utilizada, tudo automaticamente em
background, sem intervenção humana, configuração e nem interface gráfica.
Este pacote existe e otimiza o uso da memória e dos serviços e processos. Foi feito pela Universidade de Cornell e se chama
VeryNice.
Portanto, veja neste artigo sobre o
VeryNice e instale o pacote no Sabayon e coloque-o para iniciar como serviço:
# equo update
# equo --verbose install verynice
# rc-update add verynice default
Quanto à memória, outra coisa que pode fazer é editar o arquivo
/etc/sysctl.conf e colocar no fim do arquivo a linha abaixo, que controla o balanço entre a memória virtual do micro e o uso da partição de troca, a SWAP.
Quanto menor for o número, menos será usado a SWAP e maior volume de dados será armazenado no cache da memória RAM. Ou seja, aumentando o número, você diminui a alocação da RAM.
vm.swappiness=30
O valor "20" deve ser otimizado por tentativa e erro, até achar o melhor, lembrando que a RAM é mais rápida que a SWAP. O que citei é adequado para sistemas com mais de 4 Giga de RAM.
Detalhes:
Make Linux faster, lighter and more powerful « techradar.com
F) Removendo serviços (ou daemons não necessários)
Também você pode remover, retirar os processos, serviços e daemons não necessários ao seu Sabayon.
Exemplos:
- Se você não sincroniza o relógio automaticamente tire o ntpd;
- Se sua rede tem IP fixo, tire dhcpd, dhclient e dhrelay;
- Se não usa IPv6, tire ip6tables;
- Se não vai otimizar o HDD, tire hdparm;
- Se não tem servidores com HDDs em RAID ou tem um só HDD, retire o mdmonitor e o mdadm;
- Se não quer nenhum firewall, padrão tire ufw;
- Se não usa laptop, servidores ou não precisa toda hora verificar Hardware conectado, tire o Avahi-Daemon, etc.
Outros serviços típicos que pode ser removidos:
- x-setup e xdm-setup: Pois depois de regulado o X ou trocado o driver não serão mais necessários;
- fancontrol: Se você não usar controlador de ventoinha automático;
- sabayon-mce: Pois só é útil se você usar KDE com autologin ou centros de multimídia, como XBMC;
- hwclock: Se não desejar sincronizar o relógio de sistema (deixe só o ntpd ou tire ambos);
- powernowd: Se tem computador Intel (só funciona nos AMD) ou se usa cpufrequtils;
- O próprio cpufrequtils, tire se usar um desktop sempre em performance alta ou máxima, deixe-o só nos notebooks, etc.
Se tiver dúvidas, procure na rede o que faz cada serviço, antes de removê-lo. Aja com bom senso, porque não pode tirar serviços ou daemons que são essenciais.
Ex.: Não tire serviços como
hal, dbus,udev, evdev, fbset, intd, ou poderá ficar sem reconhecimento de Hardware, sem rede, sem otimização gráfica, etc. Baseie-se, por exemplo, em artigos como estes:
F-1) Removendo serviços com interfaces gráficas
Nessa fase de remover ou adicionar serviços, se você não tem muita prática, interfaces gráficas ajudam muito.
Em GNOME, pode usar o
services-admin e em KDE, acesse:
Configurações do Sistema → Gerenciamento de Serviços
Também você pode usar
Webmin, um gerenciador via Web:
Ele existe para Gentoo e Sabayon, e pode ser instalado com
Portage ou
Entropy:
Para isso, use um dos comandos:
# equo i webmin
# LINGUAS="pt_BR" emerge -av webmin
Agora, use estas interfaces gráficas (Webmin ou outras) para adicionar ou remover os serviços e daemons.
F-2) Removendo com comandos
Apesar de existirem as interfaces gráficas, você também pode executar um dos comandos abaixo que mostra os serviços e seu nível de inicialização. Seja boot, default, ou outros:
rc-status -a
Ou:
# rc-update show #Só funciona como root e menos completo
Saída:
Runlevel: boot
hwclock [ started ]
modules [ started ]
device-mapper [ started ]
fsck [ started ]
root [ started ]
mtab [ started ]
localmount [ started ]
sysctl [ started ]
bootmisc [ started ]
dbus [ started ]
hostname [ started ]
consolekit [ started ]
termencoding [ started ]
hotplug [ started ]
consolefont [ started ]
net.lo [ started ]
sabayon-mce [ started ]
xdm [ started ]
keymaps [ started ]
procfs [ started ]
Runlevel: default
syslog-ng [ started ]
ntpd [ started ]
swap [ started ]
powernowd [ started ]
acpid [ started ]
cupsd [ started ]
autofs [ started ]
alsasound [ started ]
cpufrequtils [ started ]
fancontrol [ stopped ]
gkrellmd [ started ]
NetworkManager [ started ]
nfsmount [ started ]
preload [ started ]
udev-postmount [ started ]
urandom [ started ]
verynice [ started ]
vixie-cron [ started ]
local [ started ]
Runlevel: shutdown
savecache [ stopped ]
killprocs [ stopped ]
mount-ro [ stopped ]
Runlevel: nonetwork
local [ started ]
Runlevel: sysinit
dmesg [ started ]
udev [ started ]
devfs [ started ]
Runlevel: single
Dynamic Runlevel: hotplugged
Dynamic Runlevel: needed
sysfs [ started ]
rpcbind [ started ]
rpc.statd [ started ]
xdm-setup [ started ]
Dynamic Runlevel: manual
No Sabayon, você pode adicionar ou tirar os serviços, no boot ou após o boot (nível default) ou outros níveis, e iniciar ou parar serviços, com estes comandos:
# rc-update add NOME DO SERVIÇO OU DAEMON boot #Ou default, ou outro nível de inicialização
Ou:
# rc-update remove NOME DO SERVIÇO OU DAEMON boot
Para iniciar ou parar os serviços:
# /etc/init.d/NOME DO SERVIÇO stop
# /etc/init.d/NOME DO SERVIÇO start
# /etc/init.d/NOME DO SERVIÇO restart
Ex.: Adicionando serviço para sincronizar o relógio no boot:
# rc-update add ntpd boot
Removendo gerenciador de rede
Wicd:
# rc-update remove wicd default
Veja também nestes artigos:
Usando esses exemplos acima, então vamos tirar alguns serviços não necessários:
sudo rc-update del avahi-daemon default
Senha:
* service avahi-daemon removed from runlevel default
albfneto@sabayon ~ $ sudo rc-update del fancontrol default
* service fancontrol removed from runlevel default
albfneto@sabayon ~ $ sudo rc-update del mdadm default
* service mdadm removed from runlevel default
albfneto@sabayon ~ $ sudo rc-update del sabayon-mce boot
* service sabayon-mce removed from runlevel boot
albfneto@sabayon ~ $ sudo rc-update del x-setup boot
* service x-setup removed from runlevel boot
Deste modo, resumindo, remover os serviços e daemons não necessários pode acelerar seu Sabayon.
Também pode executar os serviços essenciais restantes em paralelo e não logá-los. Também pode executar serviços em paralelo e não logar a inicialização, para isso consulte esta dica: