VeryNice - Controle e gestão automática de serviços no Linux [Dica]
[ Hits: 7.959 ]
Quando iniciamos, "damos Boot" no Linux, o kernel é carregado para que possamos usá-lo.
Em seguida ao kernel, são iniciados diversos "processos ou serviços" que reconhecem e controlam o teclado, o CD-ROM, a rede, as portas USB, impressoras etc. Exemplos desses processos são: o HAL, o DBUS, drivemount, ntp, Keymap etc.
O iniciar desses processos pode ser visto se observarmos o boot em modo "verbose".
Finalmente se iniciam o XDM e o KDM (no KDE) ou GDM (no GNOME) e então veremos a tela de login para entrarmos na sessão.
Alguns desses processos não cessam após o boot e continuam ativos e residentes na memória RAM para serem utilizados. Esses serviços são mantidos através de pequenos aplicativos, chamados "Daemons", como ntpd, notification-applets, dbus-daemon, dbus-lauch, nm-applet, hdparm etc.
Quando o número desses serviços é muito grande e a memória RAM da máquina não é tão grande, o micro pode ficar lento. Uma maneira de controlarmos isso é removendo a carga dos serviços desnecessários ou não essenciais, desativando-os.
Isto porém, exige conhecimento. É preciso saber quais são os serviços ou tipos de serviços que podem mesmo ser desativados, ou corremos risco de travar o sistema.
No entanto existe um pequeno aplicativo, desenvolvido (originalmente para Solaris) pela Cornell University, que controla os serviços e processos dos sistemas operacionais tipo Unix ou derivados. Trata-se do VeryNice:
Linux Online - Application: VeryNice
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.
Em meus Linux, tipo Gentoo ou Sabayon, ele foi facilmente encontrado nos repositórios e instalado:
sudo equo install verynice
$ sudo emerge -av verynice
Deve existir para outras distribuições também. Instale-o conforme o recomendado para a sua distro. Se não achar, ele pode ser baixado na forma de Fonte ou empacotado em formato RPM, a partir do seguinte endereço:
http://thermal.cnde.iastate.edu/~sdh4/verynice/down/
3) Diretórios de localização e uso:
Aqui neste ponto, a documentação não é esclarecedora, talvez pela diferente estrutura da árvore de diretórios dos sistemas Solaris.
Diz-se que ele poderia se instalar (PREFIX) em /usr, ou em /usr/bin, ou ainda em /usr/local/sbin, e ainda que ele seria iniciado como "Daemon" a partir do próximo boot. Desejando iniciá-lo imediatamente, a mesma documentação recomenda a execução destes comandos:
sudo /etc/rc.d/init.d/verynice.init start (em outras distros, pode ser /etc/init.d/verynice.init start)
Caso não fosse encontrado o pacote após instalação, poder-se-ia executar estes comandos:
$ sudo chkconfig --add verynice.init
$ sudo chkconfig verynice.init on
No meu caso, porém foi bastante mais simples. O programa iniciou quando dei o comando direto, como mostrado abaixo:
sudo verynice &
verynice: starting up
Para garantir que o pacote iniciaria no próximo boot, fiz o comando:
sudo rcupdate add verynice default
Com isto ele foi adicionado ao /etc/init.d para execução no boot.
Após a instalação o binário estava localizado como serviço em /usr/sbin/verynice.bin e o arquivo de configuração em /etc/verynice.conf, como pode ser visto abaixo. Apesar do programa atuar automaticamente, ele pode ser controlado pela edição desse arquivo:
# verynice.conf -- configuration file
# declare root immune (root owned processes will never be adjusted)
immuneuser root
immuneuser bin
immuneuser daemon
immuneuser adm
# declare immune program, matlab in this case. If the line is uncommented,
# any program with "matlab" in it's path will be immune to renicing.
# The quoted quantity must match a substring of the symbolic link in
# /proc/{pid}/exe
# if there is a leading slash, the match must be precise
#immuneexe "matlab"
# declare "bad" program -- automatically niced to batch job level. if want, uncomment
#badexe "mathematica"
# declare "hungry" program -- always assumed to have 100% cpu usage,
# regardless of actual usage. For programs
# which tend to have lots of little subprocesses
# with short lifetimes to do their dirty work
# (such as "make")
# (we use leading slashes and various possible paths so that we will never
# accidentally give this flag to another program)
# Note that it IS possible to set both the "hungry" and "runaway" flags
# simultaneously (process will always be killed after a certain amount of time)
hungryexe "/usr/bin/make"
hungryexe "/usr/bin/gmake"
hungryexe "/bin/make"
hungryexe "/bin/gmake"
hungryexe "/make"
hungryexe "/gmake"
hungryexe "/gnumake"
hungryexe "/usr/local/bin/make"
hungryexe "/usr/local/bin/gmake"
hungryexe "/usr/local/bin/gnumake"
# declare "good" program -- automatically negatively reniced to
# multimedia job level. goodexe "xmms" reduces the chances of skipping when
# playing mp3's
goodexe "xmms"
goodexe "xanim"
goodexe "realplay"
goodexe "rvplayer"
goodexe "xcdroast"
# declare "potential runaway" program. potential runaways can go to a lower
# priority (reniced all the way to +20), and if they exceed that will be
# killed. Other processes are never killed. This is good for netscape and
# any other programs with a tendency to start eating the CPU for no reason.
runawayexe "netscape"
runawayexe "Fvwm"
runawayexe "xfig"
runawayexe "gimp"
#badkarmarestorationrate .0167
#periodicity 60
#rereadcfgperiodicity 60
O importante é a eficiência do pacote.
Principalmente no Semprom 1800, com apenas 512 megas de RAM, que tenho na FCFRP-USP, onde trabalho, o computador ficou bem mas rápido e no monitoramento (GNOME System Monitor) o uso da CPU caiu cerca de 30-70 %.
[1] Comentário enviado por removido em 19/03/2011 - 13:44h
otimo material parabens , esse programa seria mais ou mesmo similar ao rcconf , so que no rcconf teria que ser desativado os servicos manualmente,
so uma pequena correcao no paper .
$ sudo rcupdate add verynice default
$ sudo rc-update add verynice default
otimo material parabens , esse programa seria mais ou mesmo similar ao rcconf , so que no rcconf teria que ser desativado os servicos manualmente, so uma pequena correcao no paper . $ sudo rcupdate add verynice default seria assim $ sudo rc-update add verynice default abracos