aspireone

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. :P
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? :P ), 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 :P

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_rate

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio

echo 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 :)

Ubuntu Netbook Remix no Acer Aspire One ZG5

Escrevo este post em resposta aos diversos para-quedistas do google, que chegaram no meu post “Hands-On: Acer Aspire One ZG5” mas que estavam buscando uma forma de formatar o pequeno ZG5 e em alguns casos inclusive instalar o Windows XP nele. (Se instalar windows no ZG5 é o seu objetivo, pule para o final do texto)

Ahhh, o pequeno Acer Aspire One ZG5, bonito, versátil e rápido (para operações que não dependam de uso de disco). Já passaram cerca de 2 meses desde que comprei o meu e fiz um pequeno review sobre ele aqui no blog. Naquela época, a minha intenção era manter o sistema operacional default, o tal do Linpus Linux Lite. Depois de muito tweaking e muita dor de cabeça, decidi que era hora de começar a olhar em outra direção. Procurar uma distro mais completa e principalmente desenhada para o seu hardware. Já havia escutado algo sobre o Ubuntu Netbook Remix, e levando em consideração que já utilizo Ubuntu no meu Laptop do trabalho, resolvi que valia a pena experimentar.

O processo de instalação foi bem simples, baixar a imagem, gravar em um pendrive, plugar o pen no Netbook e realizar o processo de instalação normalmente (next, next, finish). Bem, na verdade não foi tão simples assim, na hora de definir a tabela de partições, me apareceu uma dúvida cruel, ext2, ext3, ext4, brtfs ou o qual outro??? Sem precisar abortar o instalador, abri o firefox no próprio Netbook para consultar o todo poderoso e decidir qual o sistema de arquivos que eu deveria utilizar.

Bem, normalmente para os meus servidores, utilizo ext3, simpatizo muito com a sua simplicidade e estabilidade, mas para o pequeno Netbook, eu sabia que esta era uma decisão muito importante. O maior problema é o disco SSD, tem uma velocidade baixa de leitura e uma velocidade ainda mais baixa de gravação… Portanto escritas constantes no disco (em virtude do sistema de Journaling) degradam consideravelmente a performance além de reduzir a vida útil do disco SSD.
Depois de muito pesquisar, encontrei o blog do “Theodore Ts’o” funcionário da IBM que trabalha ativamente no desenvolvimento do Kernel do Linux. No post “SSD’s, Journaling, and noatime/relatime” ele entra em uma discussão bem interessante sobre o funcionamento do ext4 principalmente em cima de discos SSD. Claro que ele baseia-se em discos SSD caríssimos da Intel como o “X25-M SSD” que nem de longe são parecidos com o SSD do pequeno ZG5.
Após ler todo o post dele e a maioria dos comentários relevantes, optei por utilizar o ext4 sem journaling e dar uma “tunada” nos parâmetros avançados. Cliquei em next, peguei meu PSP do fundo da gaveta e aproveitei para dar uma jogadinha no meu “Burnout Legends“. Depois de alguns “Road Rages” e muitos carros destruídos, meu “Ubuntu Netbook Remix” estava pronto para rodar. Para a minha decepção, o sistema havia ficado muito, mas muito lento… Após alguns minutos de uso, e pensando em todas as alterações que deveria fazer no ext4 para que ele ficasse praticamente como o ext2, lembrei do conceito “KISS“, e novamente formatei o ZG5 para instalar o UNR utilizando o sistema de arquivos ext2. Mais alguns “Road Rages” e o UNR estava rodando redondinho no pequeno ZG5, agora inclusive com uma performance igual ou melhor que a do Linpus Linux (Com o mínimo de esforço).

Todo o Hardware do ZG5 foi reconhecido automagicamente pelo UNR, webcam, microfone, placa de som, wireless, rede, etc… A única coisa que não funcionou foi o “led” do wifi que fica no canto direito inferior, mas que para mim, não faz a menor diferença. (Para os perfeccionistas de plantão, existe um patch que resolve este problema, mas eu julgo que não vale o esforço). Uma outra pequena alteração que deve ser feita, é adicionar o parâmetro “noatime” nas opções de mount da / no fstab.

O Ubuntu Netbook Remix sai da caixa com todos os aplicativos que um computador normal precisa, mas com a vantagem de ser otimizado para o processador Atom e ter uma interface “inovadora”, que pensa em monitores pequenos. Os aplicativos rodam sempre em tela cheia, em um formato de “abas” mais ou menos como no firefox. Mesmo assim, se o usuário não gostar, sempre pode alterar a interface para o modo tradicional em dois cliques: “Preferences > Switch desktop Mode”.

Para os para-quedistas que chegaram aqui procurando uma forma de formatar o Acer Aspire One ZG5 e instalar o Windows XP ou Windows 7:
Lembre-se que você comprou um laptop de baixo custo com “Linux Inside”, abrindo mão de comprar uma licença do Windows. Se o seu objetivo é instalar o windows nele, não esqueça de comprar a licença de um revendedor autorizado. Afinal, pirataria é crime, e prejudica o desenvolvedor do Software. Lembre-se também que o windows 7 é free enquanto for beta, após ser oficialmente lançado, você precisará comprar a sua licença. Uma outra alternativa, é você “pensar” e comprar o que realmente quer, um laptop com windows e as vezes até virus (caso do eeePC) pré instalado. Desta forma você poupa trabalho, gambiarras e uma grande dor de cabeça. De qualquer forma, se você está cansado do Linpus Linux, e pensa em instalar windows, experimente o Ubuntu Netbook Remix, você terá uma nova vida no seu Netbook.

Nota de rodapé: Para gravar a imagem do ubuntu em um Pendrive e tornar este “bootável”, siga estas dicas.

Hands-On: Acer Aspire One ZG5

Recomendo a leitura dos comentários deste post, afinal passaram-se alguns meses desde que escrevi, e minhas opiniões sobre o Linpus Linux mudaram drasticamente.

Entrando na onda dos NetBooks, comprei um Acer Aspire ONE zg5 (pelo que eu entendi, este é uma versão um pouco melhorada do 110L, onde alguns modelos podem sair de fabrica com disco rígido e Windows xp.

Como eu estava realmente interessado em um Netbook e não em um laptop pequeno, optei pela versão que vem com SSD ao invés de disco rígido, e obviamente com o “Linpus Linux Lite” ao invés do XPzão.

Ao invés de escrever um Review todo pomposo vangloriando ou falando mal desta pequena máquina, vou apenas escrever as minhas impressões e algumas dicas/informações que coletei pela web.

Logo que comprei este Netbook, estava certo que ia formatar o disco para remover o Linpus Linux e instalar uma distribuição completa, como por exemplo: Gentoo, ArchLinux, ubuntu ou OpenSuSe (Todas estas são reportadas como funcionais no bichinho). Enquanto pensava em qual distro instalar, resolvi dar uma chance de alguns dias ao pequeno Linpus.

O Pacote original dele, é bem completo, alguns joguinhos bobos para distrair, OpenOffice para editor de texto, planilhas e apresentações, Firefox 2, Aspire One Mail, messenger (completo para msn, google talk, yahoo messenger e aim) detalhe que este tem suporte a WebCam.

Quanto aos pacotes de Multimidia, não posso falar muito deles, pois desinstalei todos para instalar o VLC. :P

Mesmo sendo bem funcional, me senti um pouco preso com aquela interface “amistosa” dele, então o meu primeiro objetivo, foi a remoção completa dela. Depois de brigar um pouco, consegui habilitar o menu do Xfce e remover a tela “amistosa”. Comecei a me sentir um pouco mais em casa usando um ambiente de trabalho “normal”.

Fiz a instalação do Skype e de mais alguns aplicativos que julgo necessários para o meu trabalho, e a partir daí o Linpus começou a me agradar.

Como eu gosto de ir um pouco mais além do padrão, comecei a conversar com o meu amigo Google para obter uma ajudinha, e achei algumas informações e dicas interessantes:

São elas:
Reclaiming disk space on a110l – De fato o pequeno linpus vem com uma pá de coisas que provavelmente não interessem a muita gente. Dentre elas um dos melhores suportes a chinês e outras linguas orientais…. No fim das contas, dá para liberar pouco mais de 2GB

Noisy Fan – O Cooler do cpu desta criaturinha, consegue produzir um ruído muito chato. Tem “patch” para controlar melhor a ventoinha do laptop, desligando ela quando não é necessária. A configuração padrão deste patch é para desligar abaixo de 70ºC o que eu considero muito… prefiro o barulho do que o laptop fervendo.

Aumentando a performance do SSDEsta é muito boa, meu linpus carregava o sistema completo em 15 segundos, agora desde ligar, até terminar de carregar, é menos do que 10segundos!
IMPORTANTE: Esta dica apenas deve ser usada para NetBooks com SSD (memória flash). Se usar este parâmetro para disco rígido, vai haver uma grande queda de performance!

Habilitando os menus do XFCE – “Conhecida como Advanced Mode”

Switch between Acer and Xfce Desktop

Mais alguns links:
Pacote com 10 dicas para o Aspirone
30 Dicas para o Aspireone

Cuidado ao aplicar as dicas acima, tenha sempre um drive de cd/dvd externo ou um pendrive “bootavel” para poder corrigir algum problema caso a máquina não inicialize corretamente.

Quanto a decisão do sistema operacional, optei por manter o Linpus linux, pois este é bem optimizado para o hardware, sendo rápido, e tão funcional quanto as outras distribuições…

Para finalizar, o Acer Aspire One ZG5 é um ótimo companheiro para quem precisa ter mobilidade, mas ainda não substitui um laptop normal ou computador convencional.

Recomendo a leitura dos comentários deste post, afinal passaram-se alguns meses desde que escrevi, e minhas opiniões sobre o Linpus Linux mudaram drasticamente.