Fazendo milagres com pouca memória
Jah faz algum tempo que eu uso computadores bem obsoletos, entao jah me acostumei com certas dificuldades, como pouca memoria, HD pequeno e, ateh, telas pequenas. Nesse artigo darei algumas dicas de como economizar memoria, caso esse recurso esteja escasso para voce.
Evite serviços inuteis
A maioria das distros Linux jah manda subir, por default, um conjunto de serviços que, em geral, eh grande demais. O servidor de ssh, por exemplo. Voce realmente usa sua maquina para servir ssh? No Slackware, entre em /etc/rc.d. Lah voce vera, basicamente, quatro itens muito importantes: rc.S, rc.K, rc.M e o resto. Primeiramente, observe o “resto”. Se houver algum rc.* que levante algum serviço que voce nao quer, trate de tirar a permissao de execuçao dele. So isso jah basta para que o serviço nao suba mais no proximo boot. Se quiser derruba-lo agora, sem reiniciar o sistema, basta executar “./rc.servico_inutil stop”, ou, se voce jah tirou a permissao de execuçao, “bash rc.servico_inutil stop”. A dupla “ps x” e “kill” tambem resolve.
O script rc.M eh quem cuida de ir subindo os serviços do modo multi-usuario, e eh lah que estao a maioria dos serviços que voce podera querer desabilitar. O arquivo eh bem simples e, quando nao quiser que um serviço suba, basta comentar (jogar um “#” na frente das linhas) as linhas que tratam de subi-lo. Em variantes do Debian, chame o sysvconfig e brinque com o scriptzinho tipo dialog.
Mate uns getties
Edite o arquivo /etc/inittab e procure pelas linhas com os “getty”. Esses sao os caras responsaveis por te dar terminais (acessiveis com ctrl+alt+F* ou “chvt N”). Acredite, eles nao sao economicos, entao, deixe apenas um ou dois, conforme voce realmente vai precisar. Para isso, tire as linhas cujo primeiro numero eh o terminal que voce nao quer. Se voce *usa* mais de cinco terminais, eh legal aprender a usar o screen.
Processos podem ser evitados
Nesse exato momento estou usando: Xfbdev, fluxbox, rxvt, screen, zsh e vim. O fluxbox chamou o rxvt, que, por sua vez, chamou o zsh. Do zsh eu chamei o screen, que chamou outro zsh, do qual eu chamei o vim. Perceba que tem um processo sobrando nessa historia, que eh o primeiro zsh. Ele fica inutilizado enquanto eu estou usando o screen, e, assim que eu terminar com o screen, provavelmente nao vou querer usa-lo. E eh por isso que eu uso o grande amigo dos PCs com pouca memoria: *exec*. Ao inves de digitar, no terminal, “screen”, eu digito “exec screen”, ou seja, eu nao rodo um programa “sobre” o outro, mas substituo um pelo outro. Assim, ao abrir o screen eu jah mato um zsh que nunca mais seria utilizado, e economizo muitos KBs de memoria.
Essa dica do exec vale, por exemplo, quando voce abre outra tela do screen ou, no X, abre outro terminal soh para chamar um ogg player modo texto, um editor, ou algo assim. O shell nao sera usado e, ao sair do programa, voce vai fechar o terminal. Entao, ao inves de dizer, digamos, “vim”, diga “exec vim”. Assim, ao sair do programa, o terminal sera imediatamente fechado.
Use programas leves
Nem sempre os programas mais inteligentes aumentam sua produtividade. Quando eu usava um laptop de 8MB de memoria, a dupla zsh + vim era, com certeza, muito esperta e, se eu estivesse numa maquina melhor, aumentariam minha produtividade. Mas com 8MB, eu ficava tempo demais esperando pelas coisas inteligentes, e isso era bem contraproducente. Entao passei a usar bash + vi. Assim, cada programa faz o maximo que pode sem demorar um monte, ao contrario do caso anterior, quando cada programa fazia a metade do que conseguiria e ainda demorava tempo demais.
Se voce vai usar o X11, procure alternativas leves como o KDrive (TinyX) ou, em alguns casos, o Opie (filho do QTopia, um ambiente para palms e handhelds). Ainda no X11, em geral, esqueça os grandes nomes como KDE, Gnome ou XFCE. Eu mesmo, nas minhas velharias, *nunca* conseguir rodar o XFCE direito. Com 32MB de memoria, quase tudo vai bem: fluxbox, iceWM, WindowMaker, etc. Com 16MB tambem, mas ai o peso Xserver conta bastante. Com 8MB, esqueça tudo isso e passe para os peso-pena, como mwm (ele eh horrendo, mas faz milagres), flwm, qvwm ou flwm. Esse ultimo eh bem interessante, principalmente porque o aproveitamento da tela eh enorme.
Precisa de programas de escritorio? Ai, caramba. Era melhor que nao precisasse. Mas se quiser, o SiagOffice eh leve. Em 32MB de RAM e com 206MHz dum ARM, Abiword eh impraticavel. Na verdade, com essa configuraçao, nada do Gnome eh praticavel.
Aprenda a usar o nice
Se voce estiver usando, por exemplo, o vim e o madplay num sistema com pouquissima RAM e baixo processamento, dar um nice menor para o madplay seria uma otima ideia. Eu acho pior ouvir musica aos saltos do que perder um pouco de responsividade no vim. Lembre-se que o nice vai de 20 a -20. -20 significa prioridade total, e 20 significa que o kernel soh precisa ligar para aquele processo se nao tiver nada melhor para fazer.
Faça uma coisa de cada vez
Ah, os processos pendurados… evite deixar aquele less esperando, ou o mixer aberto se nao for usar. Eles consomem memoria e processamento, sabia? Se estiver numa atividade, encerre os programas que nao tem nada a ver com ela.
Tire modulos inuteis do kernel
Se voce nao vai usar seu pendrive, pra que manter o modulo “usb-storage” carregado? O modulo “serial” esta mesmo sendo usado? Se nao, rmmod nele! Isso pode alvar alguns bytes. Mas nao espere muito disso. Esse eh o tipo de coisa que se faz quando cada byte eh importante, literalmente.
Use programas compilados para sua arquitetura
Isso pode nao parecer muito inteligente de se dizer se voce esta usando um 386. Mas, se estah usando um StrongARM e nao um ARM, isso pode ser importante. Nao que isso diminua a quantidade de memoria usada, mas os programas podem acessa-la menos (e, talvez, ate melhor, usufruindo de algum feature do hardware). Alem do mais, se um programa eh executado mais rapido, melhor. O mesmo vale para o kernel. Se puder compilar um kernel bacana para sua maquina, otimo.
2 Responses to “Fazendo milagres com pouca memória”
Leave a Reply

olá novamente cara, gostaria de saber se você conhece ( se é que existe… ) algum programa tipo o EBooster para o HP Jornada 720, para converter parte da memória do meu compact flash e aumentar a velocidade do meu Jornada pois como você sabe ele só tem 32MB de RAM.
Valeu!!!