Otimizando o uso de discos SSD em Netbooks
IMPORTANTE: Apenas realize estas configurações se você estiver utilizando um disco SSD!! Caso contrário você terá resultados negativos!
Se você está utilizando um Netbook com SSD, é importante que você realize algumas alterações no seu Linux para acelerar o sistema e aumentar a vida útil do seu SSD.
É importante observar que as alterações que eu cito aqui “podem” ser utilizadas na maioria dos netbooks e na maioria das distribuições Linux. Entretanto o foco deste documento é o pequeno Acer AspireOne ZG5.
Não costumo traduzir e/ou copiar artigos de outros sites, este é o meu primeiro artigo “traduzido livremente”, apenas fiz pois não vejo razão para reinventar a roda
A maioria das informações contidas aqui foram retiradas de: Wiki Ubuntu – AspireOne Community Ubuntu Documentation
Sobre Drives SSD e o motivo deste documento:
Os drives SSD de baixo custo, são quase que uma revolução na informática… Neste momento, estamos vendo estes dispositivos começando a popularizar. Apesar de já existirem drives SSD de alta velocidade e grande durabilidade, esta não é a realidade em que os nossos Netbooks vivem. Em alguns meses ou anos, os drives de alta performance estarão quase tão baratos como “pendrives” atualmente, mas enquanto isto não vira realidade, precisamos realizar algumas gambiarras alterações para extrair o máximo destes equipamentos.
Os dois principais problemas de discos SSD no momento são:
* Baixa performance
* Ciclo limitado de gravação – Da mesma forma que um “pendrive” suporta uma quantidade X de gravações, um disco SSD (mesma tecnologia), sofre com o mesmo problema. Após escrever X vezes em uma célula do disco, esta “morre” e deixa de funcionar. Tem muita gente que jura de pé junto que sem modificar o sistema, mantendo o ritmo normal de leitura/escrita o hardware completo do netbook vai estar bem defasado antes mesmo do disco morrer. Entretanto, eu não tenho muita vontade de “pagar” para ver, descobrir que eles estavam errados significa que o SSD do meu ZG5 morreu e precisarei comprar outro. ![]()
De qualquer forma, o outro grande problema de um disco SSD (barato e vagabundo) é a notável queda de performance durante as operações de leitura e principalmente gravação (e por acaso disco tem outra função?
), portanto, quanto menor for o uso do disco, melhor a performance obtida! (na teoria)
Nosso objetivo então é reduzir ao máximo o uso do disco SSD para aumentar a durabilidade e de quebra tentar aumentar a performance.
1) Utilizar preferencialmente sistema de arquivos ext2 (ou outro sistema sem journaling)
Conforme meu post Ubuntu Netbook Remix no Acer Aspire One ZG5 http://linux.eduardosilva.eti.br/ubuntu-netbook-remix-no-acer-aspire-one, a escolha do filesystem para um sistema com SSD é algo bem controverso pelos forums e blogs que passei, tem gente que recomenda o ext2, outros ext3 ou ext4, alguns dizem que o Journaling não influencia em nada na performance do SSD, outros recomendam desabilitar o journaling.
Fiz o teste aqui e vi que o ext4 sem nenhuma modificação transforma o ZG5 de subnetbook para uma subcarroça. Logo, tanto o ext4 como o ext3 (acredito que este também) precisariam passar por uma série de modificações para desabilitar o Journaling e para fazer com que o filesystem exija menos do disco.
No fim das contas, instalaria um “filesystem moderno” cheio de bambambam, e teria que depena-lo completamente transformando ele em ext2! (ext3 ou ext4 sem journaling = ext2). Logo para evitar a fadiga complexidade recomento instalar o sistema usando ext2. (Maiores informaçõessobre esta escolha, no meu post anterior)
2) É muito recomendável que a memória swap seja desativada durante a instalação, evitando escritas em demasia no disco e comprometendo sua vida útil. Se você acha que ficou com pouca memória, compre um pente de 1GB que está relativamente barato. Ou implemente uma SWAP utilizando um pedaço de um disco externo via USB
3) Montar o SSD com o parâmetro noatime
Resumindo de forma grosseira, a cada vez que você abre um arquivo, este é alterado para receber a data do último acesso. Montar uma partição com o parâmetro noatime, significa que dizer para o kernel não gravar os dados do último acesso no arquivo. Com isto, um arquivo só receberá um ciclo de gravação se for efetivamente alterado.
Edite o arquivo /etc/fstab (sudo nano /etc/fstab) e troque a opção “relatime” para “noatime”. The line for the root partition should then be something like:
Seu fstab ficará “mais ou menos” assim:
UUID=f03e1c59-83d2-42e7-81c4-2e875132254d / ext2 noatime,errors=remount-ro 0 1
4) noop I/O scheduler
Passaremos o parâmetro “elevator=noop” para o kernel durante o processo de boot. Este parâmetro serve para informar o kernel que ele não deve utilizar as otimizações para discos convencionais, as informações em um disco normal, não são gravadas em sequência otimizando a velocidade de leitura e gravação em discos convencionais. Como estamos utilizando um SSD, devemos adicionar este parâmetro ao kernel, pois neste caso não importa a ordem que os dados ficam armazenados. Após esta modificação, você irá perceber que o linux ficou um pouco mais rápido.
Edite /boot/grub/menu.lst usando o seu editor favorito e adicione “elevator=noop” como uma opção do Kernel default.
Seu arquivo deverá ficar mais ou menos como este exemplo:
title Ubuntu 9.04, kernel 2.6.28-11-generic
uuid b9b197c5-7a76-4273-bd85-bc4428bb5437
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=b9b197c5-7a76-4273-bd85-bc4428bb5437 ro quiet splash elevator=noop
initrd /boot/initrd.img-2.6.28-11-generic
quiet
Para que estas opções permaneçam após a próxima atualização do Kernel, procure a linha
# defoptions=quiet splash
e adicione “elevator=noop” como parâmetro
# defoptions=elevator=noop quiet splash
4) RAM filesystem para os logs e temporários
Para diminuirmos ainda mais o uso do disco SSD, vamos montar os diretórios /var/log, /tmp e /var/tmp em um filesystem virtual, utilizando a memória RAM.
Desta forma, quando algum log ou arquivo for escrito nestes diretórios, as alterações ocorrerão apenas na RAM, sem escrita no disco
Importante lembrar que sempre que “desligar” ou reiniciar o computador, as informações destes diretórios irão desaparecer!
Abra novamente o arquivo /etc/fstab e insira as linhas:
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
O sysklogd tem um problema em ser carregado com o diretório /var/log vazio, por este motivo, abra o arquivo /etc/init.d/sysklogd
Encontre a função:
fix_log_ownership()
for l in `syslogd-listfiles -a`
do
chown ${USER}:adm $l
done
}
…e substitua por esta:
fix_log_ownership()
{
for l in `syslogd-listfiles -a –news`
do
# Create directory for logfile if required
ldir=$(echo ${l} | sed ‘s/[^\/]*$//g’)
if [ ! -e $ldir ] ; then
mkdir -p $ldir
fi
# Touch logfile and chown
touch $l && chown ${USER}:adm $l
done
}
Para reconstruir o resto da estrutura do diretório /var/log a cada reboot, adicione estas linhas ao /etc/rc.local antes da linha “exit 0″
for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba unattended-upgrades ; do
if [ ! -e /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
5) Desabilite o SCROLLKEEPER:
Normalmente não é utilizado, a não ser que você tenha uma boa justificativa para não o fazer, desative este recurso.
sudo mv /usr/bin/scrollkeeper-update /usr/bin/scrollkeeper-update.real
sudo ln -s /bin/true /usr/bin/scrollkeeper-update
sudo find /var/lib/scrollkeeper/ -name \*.xml -type f -exec rm -f ‘{}’ \;
sudo dpkg-divert –local –divert /usr/bin/scrollkeeper-update.real –add /usr/bin/scrollkeeper-update
6) POWER SAVING (Leitura Complementar apenas para o AspireOne!!!)
Edite novamente o arquivo /etc/rc.local e adicione estas linhas antes do exit 0;
# Economize the SSD
sysctl -w vm.swappiness=1 # Strongly discourage swapping
sysctl -w vm.vfs_cache_pressure=50 # Don’t shrink the inode cache aggressively# As in the rc.last.ctrl of Linpus
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_max > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rateecho 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratioecho 1 > /sys/devices/system/cpu/sched_smt_power_savings
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
echo 5 > /proc/sys/vm/laptop_mode#Decrease power usage of USB while idle
[ -w /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level
[ -w /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level
7) Acelerando o Firefox
Visite https://help.ubuntu.com/community/AspireOne e siga as instruções para acelerar o Firefox. De todas as citadas ali, as mais importantes são as que desabilitam o cache em disco.
Estas são as principais dicas que utilizei no meu ZG5, apesar delas serem escritas para o UNR, a maior parte delas pode ser aplicada em qualquer distribuição Linux que utilize SSD como disco.
Recomendo uma passada no site Wiki Ubuntu – AspireOne Community Ubuntu Documentation para uma leitura completa sobre o assunto. Observar que algumas dicas que estão expostas lá são para o ubuntu 8.10 e não 9.04 e podem estar defasadas.
Se tiver alguma dúvida, sobre os procedimentos indicados aqui, sinta-se livre para postar nos comentários. Normalmente eu respondo a todos
Boa tarde, amigo sou novato no mundo linux, ate estou desenrrolando bem, hehehe…
Tenho o mesmo modelo de netbook que vc e vou hoje fazer essas alteraçoes no meu net e sentir como ele fica. Mais tarde posto aqui minha experiencia hehehe.
Antes mesmo de testar queria agradecer a iniciativa… e se rodar tudo bem volto pra agradecer d novo hehehe
a proposito, vc ainda esta usando o UNR 9.04? ou vc migrou para a nova versao? parece q a ultima n eh possivel mudar para o desktop mode
isso eh triste… pelomenos por enquanto
Olá Frederico!
Bem vindo ao mundo Linux
Realizar a instalação do UNR não é nada muito complexo e vai dar outra vida ao seu Netbook!
Eu ainda estou com a versão 9.04, mas pretendo passar para a 9.10 nos próximos dias. Já o meu colega de serviço fez a atualização do seu netbook da versão 9.04 para a versão 9.10 sem maiores problemas, tudo permanece operacional e estável.
Quando ao “desktop mode”, dei uma rápida googleada e vi que a versão 9.10 não inclui esta alternativa por default. Parece que havia um problema com a troca de desktop em tempo real e o pacote foi removido enquanto o problema não era solucionado.
Bem, testei no netbook do meu colega de serviço, e confirmei que a opção de troca de desktop não consta nos menus do UNR, mas o aplicativo desktop-switch estava instalado e pude utiliza-lo normalmente para trocar de um desktop para outro.
Caso não encontre o ícone do aplicativo, pressione ALT+F2 (ou abra um terminal) e digite desktop-switch.
De qualquer forma, sugiro que você dê uma chance para a interface do UNR, pois ela explora a “telinha” de uma forma eficiente, aproveitando bem melhor o espaço.
[]‘s
Vlw eduardo,
Aqui testei as suas dicas e de fato teve uma melhora consideravel, tanto no UNR como no UD, se me permitir gostaria de postar suas dicas no meu blog, qq coisa da uma conferida nele: http://aceraspireonebrasil.wordpress.com
Quanto ao desktop mode, eu ja havia formatado o net pra o ubuntu desktop (UD) ai nem testei hehehe, de fato o UNR eh legal, gostei dele, mas eu sou muito fresco digamos assim, hehehe n gosto mt do visual “celular” q ele tem, enjoa facil… Agora um probleminha chato que achei na nova versão do ubuntu eh que esquenta muito… as vezes chega a ser insuportavel, mas fazer oq ne? hehe abraços
Olá Frederico,
Mantendo os créditos e links para o post original, você pode utilizar sem problemas o conteúdo dos meus posts. Obrigado por perguntar
Quanto ao aquecimento, verifique se a sua ventoinha está ligada, talvez você tenha habilitado o pacote que faz o gerenciamento dela? Eu fiz isso anteriormente e podia fritar um ovo com o meu zg5
Reverti a alteração rapidinho, prefiro barulho ao invés de aquecimento hehehehe.
Logico que irei por os creditos e tudo o que tem direito^^
Agora que você falo, eu tinha atualizado a BIOS, as novas versões “tiram” o barulho do fan.. ou seja, eles reduzem a velociade dele hehehe.
Pior que eu tive que por o windows XP aqui e nem sei como ativar o fam agora, to procurando como fazer, achei o fan control, so que depois de um tempo ele desliga o PC do nada, testei o A1CTL… esse resolveu.. so q tinha que fazer um negocio dele, que meio que desativa o icone da bateria do win, ai não consigo acompanhar se ela esta acabando ou não! To testando o Speed Fan agora, vamos ver no que da!
Quando eu fizer o post no blog te aviso!
Vlw pelas dicas e pela ajuda!
Frederico seu netbook pode estar desligando por super-aquecimento
Ainda bem que ele se desliga, caso contrário seu cpu já teria torrado ou a sua placa mãe já teria derretido hehehehe
Se precisar de alguma coisa, pode passar por aqui.
[]‘s