UbuntuDiet
Ubuntu Diet
Dicas e recomendações para a configuração de uma instalação leve do Ubuntu em máquinas antigas.
- Este artigo coleciona dicas de otimização de sistemas operacionais Linux com a finalidade de melhorar o desempenho de máquinas "antigas" (consideradas como sendo qualquer máquina abaixo das configurações "recomendadas" para a instalação de determinada distribuição).
ATENÇÃO!!! Infelizmente estas dicas, embora válidas como princípios gerais de redução do "peso" de qualquer distribuição, não são mais, por si, suficientes para assegurar a utilização sem problemas de um Linux moderno em um hardware antigo. Se você realmente quer fazer isso, deve optar por uma distribuição especializada -- tal como Vector Linux, Peanut Linux, Arch Linux, Damn Small Linux, Puppy Linux ou Slackware (que, embora não seja uma distribuição das mais fáceis de instalar, configurar e manter, ainda roda bem em máquinas bastante antigas). É importante notar, porém, que ao usar uma destas distros você estará, inevitavelmente, deixando de lado a maior parte dos recursos modernos que estão a disposição de uma distro normal. Esteja avisado.
Não é objetivo do autor tecer comentários sobre o "peso" relativo das diferentes distribuições nem recomendar uma ou outra -- embora seja de amplo conhecimento o fato de que algumas distribuições são especificamente desenvolvidas com usuários de máquinas antigas em mente.
O ponto central deste artigo é fazer recomendações capazes de melhorar o desempenho de qualquer distribuição, inclusive algumas destas dicas pondendo ser úteis até mesmo para proprietários de máquinas potentes que estejam interessados em espremer cada gota de desempenho de seu hardware.
Especificamente falando, estas dicas foram testadas e utilizadas pelo autor para otimizar o desempenho do Ubuntu Linux em um computador com as seguintes características:
- Processador AMD K-6II de 450MHz
- 64 + 128 MB RAM
- Placa-Mãe PC-Chips M856LMR
- Vídeo VIA/Trident On-board
- Som CMI 8738 On-board
- Placa de Rede SiS
Compilar ou Não Compilar o Kernel
A otimização de um sistema operacional Linux para um computador antigo depende de dois fatores: qual kernel e quais programas você está rodando.
Apesar de opiniões desencontradas a respeito por parte dos usuários, há muita referência na internet que permite dizer com toda certeza de que a compilação de um kernel personalizado é importante para otimizar o desempenho. Infelizmente, esta otimização parece ser vantajosa para os processadores mais novos, não para os mais antigos. O caso todo está explicado aqui
Para o usuário de computador mais antigo a compilação de um kernel vale mais pela possibilidade de desabilitar funções que não vai usar do que pelas otimizações de compilação que são possíveis.
De qualquer modo, a questão da compilação do kernel merece outro artigo. Este aqui trata especificamente de personalizações aplicáveis ao sistema operacional pós-instalado, sem envolver a recompilação do kernel ou de qualquer software. Entendem os autores que soluções baseadas em recompilação, por mais recomendáveis e eficientes que sejam, não são os únicos métodos para melhorar o desempenho do computador e nem estão ao alcance fácil de um usuário novato. Por esta razão, todas as soluções que indiquem recompilação do kernel ou de qualquer programa fogem ao escopo deste artigo.
Otimização de Hardware
Parte considerável do desempenho depende da qualidade do hardware e da maneira como está configurado.
Parâmetros do HD
Através do hdparm podemos fazer uma série de alterações no modo como o computador executa gravação e leitura em disco. Segundo Eric Brasseur, os parâmetros não são configurados "de graça": você terá sempre de optar entre facilitar a inicialização rápida dos programas ou possibilitar a execução simultânea de vários programas. No meu caso, com um processador lento e pouca memória, priorizo executar programas simultaneamente, então devo estar disposto a esperar mais para que os programas iniciem.
Eric sugere reduzir o readahead padrão (256) para 32, tornando a inicialização dos programas mais lenta, mas facilitando a gravação de dados uma vez que estejam funcionando:
$ sudo hdparm -a 32 /dev/hda@@
Caso você ache que o sistema ficou insuportavelmente lento, mexa de novo nos valores. Quanto mais baixo o readahead, mais lenta a inicialização de programas e mais fácil sua "convivência".
Lembre-se de que as modificações só passam a valer na próxima inicialização.
Equipamentos Problemáticos
Mesmo que você não tenha dinheiro para comprar um computador novo, vale a pena gastar alguns mangos comprando algumas peças para melhorá-lo. Uma das principais causas da perda de desempenho, mesmo em computadores novos, são elementos de hardware que não possuem seu próprio firmware e capacidade de processamento.
Se você usa um winmodem, encontre algum velho modem US Robotics ISA e passe a usá-lo. Esta substituição sozinha pode representar a economia de mais de 40% da capacidade de processamento da CPU e uns 30 ou 40 MB de RAM. Um modem desses melhora o desempenho até do próprio Windows!
Livre-se da impressora, especialmente se for uma impressora USB e principalmente se for uma HP DeskJet da série 35XX. Estas impressoras consomem muita memória RAM e muita capacidade de processamento quando estão imprimindo e não é raro ocorrerem travamentos do sistema ou interrupções da impressão. A menos que sua impressora seja uma daquelas antigonas, que tinham um monte de circuitos internos, não vale a pena usá-la com seu velho PC (lembra-se da história do remendo novo em roupa velha?).
- Compre, quando puder, uma placa de som boa. É sempre um investimento vantajoso, pois você poderá levá-la para o seu computador novo --- quando o comprar.
- Compre uma placa de vídeo off-board, mesmo que seja das "genéricas" e tenha apenas 32 MB de RAM. Mesmo que seu computador seja velhinho, uma placa de vídeo off-board pode fazer maravilhas pelo desempenho. No meu computador, por exemplo, apenas 8MB de video estão disponíveis no chipset on-board. Isto significa que mesmo uma placa de vídeo antiga, daquelas de 32 MB, representaria um ganho fenomenal de desempenho.
Equipamentos como os mencionados acima (impressora, hardmodem, placa de som e de vídeo) podem, muitas vezes, ser encontrados a preço de banana ou até como sucata em lojas de eletrônica.
Memória
Compre pentes de memória extra. Se o seu computador for muito antigo isto pode vir a ser difícil -- então não perca nenhuma oportunidade que surgir. Fuce nas lojas de informática, revire o lixo da empresa, procure saber onde estão jogando computadores fora. Acredite em mim (inclusive quando for comprar seu computador novo --- "memória demais" é igual o coelhinho da páscoa: não existe isso). Seja lá quanto de memória você tiver, você sempre vai achar um jeito de fazer ficar "pouco". Isto acontece porque a memória que não estiver sendo usada para rodar os processos será usada como cache de disco.
Instalação do Sistema
Existe muita coisa que se pode fazer para melhorar o desempenho de um sistema já instalado, mas nada se compara ao que vc pode fazer se for instalar um sistema "do zero".
Escolha do Sistema de Arquivos
Agora que eu já instalei, não há mais nada a fazer. Mas eu tenho arrepios a cada vez que leio na internet coisas do tipo:
- A pergunta mais pertinente é o que acontece com os arquivos quando há um problema sério, como por exemplo, uma trava do sistema, uma queda de energia ou o abortamento de uma inicialização. A pergunta seguinte é, será que o sistema, caso irremediavelmente danificado, permitirá que eu recupere algum dado? O pior formato neste aspecto é o ReiserFS. Na maioria das vezes ele se recupera de travas do sistema. Mas quando a recuperação não é bem sucedida... bye bye arquivos. Eu perdi muitos arquivos usando ReiserFS. (Eric Brasseur)
Tudo bem, o mesmo autor que disse isso também disse que o ReiserFS é melhor para quem tem muitos arquivos pequenos em muitos diretórios (uma típica instalação Linux) porque permite economizar espaço (bom para quem tem HDs de 4 GB) e acessar os arquivos mais rapido (bom para quem tem processadores de 450MHz).
O ReiserFS parece ser indicado para usuários de máquinas antigas, porém é preciso ter cuidados com ele e fazer backup freqüente de seus dados pessoais importantes e de configurações cruciais.
Caso você não queira correr o risco, use o ext3 (que é mais seguro) para a partição /home e formate a partição principal (/) como Reiser.
Escolha de Pacotes
Durante a instalação somos tentados por uma lista imensa de programas com nomes pomposos que nós, muitas vezes, nem lembramos mais para que servem. Instale apenas os programas que usa regularmente, deixe para instalar os outros se, e quando, forem necessários.
No caso do Ubuntu, não instale nenhum desktop. Inicie em modo texto e, através do aptitude, faça uma escolha comedida do que pretende usar, instalando apenas as dependências que forem requisitadas.
Elimine os Serviços Inúteis
Você não precisa de boa parte dos serviços que o Ubuntu inicia por padrão. Bons candidatos para você desabilitar são:
sendmail: servidor de envio de e-mail
postfix: servidor de envio de e-mail
apache: servidor web
apmd: gerenciamento de energia por software :
gpm: mouse no console
identd
ip6tables
iptables: firewall
isdn
kudzu: checagem de novo hardware
lpd: servidor de impressão
nfs: sistema de arquivo em rede
portmap
talkd
Otimização do X
Muitos usuários de computador não se conscientizaram ainda da importância da placa de vídeo para a rapidez e a estabilidade do sistema. Boa parte da culpa por isso advem do [mau] hábito de comprar placas-mãe on-board.
Uma parte significativa da capacidade de processamento da CPU e do espaço disponível na memória RAM é utilizada (às vezes desperdiçadamente) pelo servidor gráfico, o "X". Configurá-lo corretamente reduz o uso desnecessário de memória e melhora o desempenho.
Driver de Vídeo
Uma boa quantidade de usuários acaba usando, por pura preguiça, o driver vesa. Acontece que ele não é o mais indicado: além de não oferecer todos os recursos de sua placa de vídeo, ainda há o problema de desperdiçar memória e a inconveniência de ter uma imagem pior do que pode ser. Reconfigure seu servidor X e assegure-se de usar o driver adequado para sua placa.
Resolução de vídeo
Usar resolução de 75dpi em vez de 96 também é uma boa dica, pois a relativa piora da qualidade de imagem é compensada pela menor quantidade de RAM usada (em sistemas que usam vídeo on-board).
Resolução de cores
Ninguém imagina que se possa usar um computador com processador de 450MHz como ambiente de desenvolvimento gráfico, então reduza ao máximo as cores utilizadas pelo X. A menos que você ache isso realmente intolerável, use profundidade de 256 cores ou, na pior das hipóteses, 16 bits.
Fontes
Se você não é um artista gráfico e nem faz desktop publishing ter centenas de fontes disponíveis não vai fazer nada por você além de sobrecarregar o servidor X e tumultuar a caixa de seleção de fontes dos programas.
Como você não pode evitar usar as fontes bitmap (padrão do sistema), restrinja o uso das fontes vetoriais a um único formato (elimine as fontes Type1 ou as fontes TrueType e sempre se livre das fontes Speedo).
Escolha um conjunto de fontes sóbrio, que sirva para qualquer tipo de documento e, principalmente, desinstale todas as fontes para idiomas exóticos ou codificadas em Unicode.
Otimização do Login
Eliminar a splash screen terá como efeito reduzir a quantidade de memória gasta durante a inicialização, o que pode tornar o boot mais rápido.
Eliminar o login pelo GDM ou KDM elimina a necessidade de carregar as bibliotecas do KDE ou Gnome para a memória. O serviço KDM/GDM também consome RAM. Logue pelo console e use um .xinitrc para entrar em sua interface gráfica favorita.
Elimine os consoles virtuais desnecessários. Edite o arquivo /etc/inittab e comente as linhas referentes a mingetty ou mgetty, exceto as duas primeiras. O primeiro console você usará para logar e entrar no X, o segundo fica de reserva. Os demais só ocupariam espaço na memória.
Escolha da shell
Tudo bem que a tradicional "Bourne Again Shell" (bash) é amigável, cheia de recursos e estável. Mas ela também é mais pesada. Apesar do pequeno impacto da shell sobre o desempenho do sistema, carregar uma shell mais leve, como csh ou dash pode diminuir o tempo de início de um terminal em até dois segundos (em meu PC).
Ambiente de Trabalho
Parece incrível, mas existem pessoas (como eu) para quem a principal função do computador é ser útil, não ser bonito. A escassez de recursos nos leva a eleger prioridades: se eu tenho só 192MB de RAM, não posso me dar ao luxo de desperdiçar (esse é o termo apropriado) mais de 120MB só para carregar um ambiente de trabalho "bonitinho".
Por isso, para usar Linux em um computador antigo (ou se quer parar de gastar poder de processamento e memória com inutilidades como menus com ícones, applets de painel e outras frescuras), pode esquecer tudo que você sabe sobre os três paquidermes; em ordem de tamanho e peso: KDE, Gnome, XFCE.
Qualquer destes ambientes de trabalho te toma pelo menos 100MB de RAM, qualquer um deles vai exigir quase toda a capacidade de processamento de sua CPU o tempo todo.
Existem vários ambientes de trabalho leves, para Linux, alguns podem carregar menos de 500KB na RAM. Infelizmente a usabilidade destes ambientes leves pode ser difícil para quem não está acostumado e intimidar os novatos menos corajosos.
Minha recomendação é o IceWM. Não apenas porque ele é leve, mas também porque ele é "enfeitável", compatível com menus Debian e Gnome e não tem problemas de maximização com certos programas (como o WindowMaker tem até hoje). Ele ainda é capaz de suportar aplicativos de painel do Gnome e do KDE, tem um script de inicialização, um menu editável e etc.
Uma boa alternativa é o EDE que, infelizmente, depende de uma biblioteca não padrão (eFLTK) e não está empacotado pelo Ubuntu.
Os ambientes de trabalho para Linux podem ser divididos em várias categorias:
- Inspirados no NeXT
- Inspirados no Microsoft Windows
- Blackbox e Assemelhados
- Blackbox
- Fluxbox
- Openbox
- Waimea
- Inspirados nas Antigas Interfaces Unix
- TWM
- MWM
- EvilWM
- OLWM
- Interfaces otimizadas para teclado
- Ion
- Ratpoison
- Outros
- Oroborus
- Enlightenment (ou E)
Interfaces baseadas no NeXT têm uma barra de ícones (dock) e uma barra de janelas (Clip ouWharf). O menu é acessado por cliques na área de trabalho. Para cada programa iniciado é criado um ícone.Interfaces baeadas no Blackbox têm uma barra de tarefas (slit) e uma área de trabalho onde se clica para revelar o menu.
Interfaces inspiradas nas antigas interfaces Unix se baseiam no mesmo sistema, mas costumam ser mais primitivas e menos amigáveis.
Entre os ambientes mencionados acima os mais recomendáveis para usuários de velhos sistemas são o IceWM e o EDE. Este último é menos recomendado porque depende de uma versão específica da biblioteca FLTK (por isso você precisa compilar e instalar).
O Blackbox é mais difícil de usar, mas se você não se sentir desconfortável com ele pode ser uma opção ainda mais recomendável.
O Openbox também é muito leve, mas tem o defeito de não ter um sistema próprio de inicialização de programas (de qualquer modo este defeito deixa de ter importância se você passar a iniciar o X através do .xinitrc). Um aspecto interessante do Openbox é que ele pode ser usado para substituir o Metacity como gerenciador de janelas do Gnome.
O Fluxbox costumava ser muito leve, mas não tive boa experiência com ele no Ubuntu: aparentemente ele está tão pesado quanto o XFCE.
Configuração do ''Desktop''
As únicas coisas que faltam ao IceWM são: suporte a dockapps (preferência minha) e ícones de área de trabalho. Para o primeiro caso não há o que fazer, e não me falem em IceDock, aquilo é um monte de bugs escrito em uma linguagem de programação obscura e nem tem um script de configuração para ajudar os simples mortais a compilar. Para o segundo caso há várias possíveis soluções:
Idesk: Você precisará criar cada link manualmente.
XTDesktop: Derivado do Idesk, parece ser um projeto morto, links criados manualmente.
ROX-Filer: Para criar os ícones depende de um programa (App-Factory) que só pode ser instalado se você instalar o ROX-Desktop (o que eu positivamente não quero).
DeskLaunch: Os ícones são criados manualmente em um único arquivo de configuração.
dfm: Os ícones podem ser criados manualmente ou através da interface gráfica.
Eu escolhi o DFM. Não apenas pela possibilidade de criar ícones com uma interface gráfica, mas também porque é o único cujos ícones não ficam "tremendo", não ficam "sujos" quando uma janela é minimizada, não depende de uma montanha de pacotes e ainda gerencia o desktop. O DFM só tem três defeitinhos:
- Está sem mantenedor há muitos anos,
- O texto sob os ícones não é transparente
- A versão empacotada não suporta ícones png: você terá que compilar um pacote personalizado para habilitar isso.
Juntando o IceWM, o DFM e um pouco de personalização, eu tenho este desktop:
Alguns podem dizer "nossa, que coisa horrível!", mas creiam-me, há certa beleza na economia e a simplicidade costuma ser mais eficiente.
Substituição de Programas Pesados
Boa parte da degradação do desempenho do Linux em máquinas antigas é culpa do tamanho e da complexidade cada vez maiores dos programas. Por exemplo, há dez anos as planilhas eram basicamente "folhas de cálculo", mas hoje em dia você pode inserir desenhos, scripts, páginas web, criar gráficos, organizar bancos de dados, exportar para uma infinidade de formatos, etc.
Pesados |
Leves |
Editor de Textos |
|
KEdit, KATE, Gedit |
Emacs(1), Gvim(2), Katoob, Leafpad(3), Adie, NEdit(4), Zoinks, TEA, THE, (X)FTE, (x)jed |
!Navegador |
|
Mozilla, Firefox, Galeon, Epiphany, Konqueror, Opera(5) |
Dillo(6), Skipstone, Links2, Kazehakase(7) |
!Correio Eletrônico |
|
Evolution, Kmail, Mozilla Mail, Thunderbird |
Balsa, Sylpheed, Spruce |
!Processador de Textos |
|
OO.o Writer, Abiword, Kword |
|
!Planilha |
|
OO.o Calc, Gnumeric, Kspread |
ABS, Oleo, SIAG, PlanMaker |
!Desenho (Vetorial) |
|
Inkscape, Sodipodi, Karbon14, Gimp |
Tgif, Xfig, IDE, Sketch/Skencil |
!Desenho e Pintura |
|
Gimp |
Xpaint, mtPaint, gPaint |
!Gerenciador de Arquivos (Gráfico) |
|
Konqueror, Nautilus, Krusader, Gnome-Commander, Atol |
emelfm, xfe, PathFinder, Gentoo, uXplor |
!Agenda |
|
Evolution, Kaddressbook, Karm |
Ical, Xrolodex |
!FTP |
|
gFTP, KBear |
guiFTP, axyFTP, File-Runner |
!Arquivos Comprimidos |
|
File-Roller, Ark |
guiTAR, gtkZip, xtar |
!Visualizador de Imagens |
|
Gthumb, GQView 1.2, Gwenview, Kuickshow, Kview, eog |
GQView < 1.2, Ida, Xzgv, gtksee |
|
|
Acroread, Evince, gGV, KPDF |
GV |
!Terminal |
|
Gnome-Terminal, XTerm, Konsole, xiterm |
xvt, rxvt, aterm, wterm, eterm |
!SU |
|
kdesu, gksu |
xsu |
!News |
|
Pan, Mozilla News |
xrn, gnews |
Um caminho natural, portanto, para usar ainda o seu velho PC é usar programas "das antigas", isto é, mais simples. As regra para isso não são muito difíceis de aprender:
#Evite programas que dependem do KDE e do Gnome, #Evite programas que usem as bibliotecas QT ou GTK+2 e dependem em outras, #Evite programas que usem as bibliotecas wxGTK, #Prefira programas que possam ser personalizados para usar menos recursos.
O Emacs (1) tem a fama de ser difícil para iniciantes, mas é inégavel que, considerando seus tremendos "poderes", ele é bastante leve. Por isso é uma ótima recomendação para usuários de computadores razoavelmente antigos (mas não muito).
Entre os editores razoavelmente leves, o Gvim (2) é o mais amigável, especialmente se configurado com o pacote "cream".
O Leafpad(3) é bastante leve, mas considerando suas limitações não vale a pena usá-lo. Se você pode usar GTK+2 e quer um editor razoável e leve, prefira o TEA.
A melhor opção, para quem não usa ainda Unicode e pode instalar openmotif é compilar o Nedit(4) a partir dos fontes e linkado contra openmotif. Porém o Nedit não funciona bem se compilado com Lesstif e não aceita trabalhar com Unicode.
O Opera(5) é o menos pesado dos navegadores pesados e, apesar de seu antigo problema com seleção e renderização de fontes, é recomendável para usuários de PCs antigos.
O Dillo(6) é um navegador muito leve, baseado em GTK+1.2. Você pode baixar http://teki.jpn.ph/pc/software/index-e.shtml|aqui o código-fonte de uma versão "enhanced" que suporta tabelas, quadros (frames), Unicode e algo mais.
Para quem não pode se livrar da obrigação de usar a internet, o Kazehakase (7) é uma boa opção também, apesar de baseado em GTK+2. Ele funciona com os plug-ins do mozilla e tem uma interface bastante razoável, além de ser baseado na mesma máquina que o Mozilla, o Gecko.
Não recomendo o Pathetic Writer (8), mas talvez seja uma das poucas opções se o seu computador for mais velho que o meu.
Esta lista não pretende ser exaustiva e inclui apenas programas que estão atualmente disponíveis para Linux.
Compartilhamento de Arquivos
Programas de compartilhamento de arquivos costumam estar entre os maiores vilões dos usuários de computadores antigos. O ideal é não usá-los mas, se você for um viciado inveterado nesse tipo de coisa, prefira programas que não funcionam como servidores de busca. Aqui vai a lista dos programas, mais ou menos na ordem do que mais consome recursos para o mais diet.
Alguns destes programas estão empacotados por padrão na distribuição do Ubuntu.
#amule #xmule #mldonkey+mldonkey-gui #valknut #xnap #mldonkey+kmldonkey #apollon #giFToxic #gtk-gnutella (gtk-1) #pyslsk #lopster
Comentários
(Desculpe-me, não sei onde deveria me manifestar sobre esta página). Ei, esse documento está muito bem feito. Parabéns, JoseGeraldo! - YvesJunqueira
UbuntuDiet (last edited 2011-09-19 23:20:21 by localhost)