Readyboost no Ubuntu

Embora seja apresentado como readyboost no Linux, o cenário aqui descrito não tem muito a ver com o que a Microsoft propõe em seu sistema operacional – um sistema de cache do disco rígido em memória flash (pendrive). A única semelhança da solução demonstrada aqui é o uso do seu pendrive. Mas o propósito é outro: direcionar o swap para a memória flash, o que não tem qualquer coisa a ver com caching.
Sob certo ponto de vista, são duas coisas completamente opostas.

Vale a pena configurar o readyboost no Linux?

Não digo isto para desencorajar mas — sejamos realistas — O Linux funciona muito bem em sistemas com poucos recursos. Se a sua máquina foi adquirida depois de 2012, ela terá no mínimo 2 GB de memória RAM. Ainda que tenha apenas 1 GB de RAM, possivelmente nenhuma diferença será percebida na performance do sistema. O recurso do Readyboost usa memória de troca (swap) – Numa configuração como estas, o swap raramente é usado por um usuário normal.
Leia este artigo sobre como melhorar a performance do Ubuntu — o texto traz uma série de dicas e truques que, se aplicados juntos, podem dar uma “envenenada” na sua máquina (seja ela nova ou velha). A maioria das dicas vale para qualquer distro.

Como aplicar o readyboost no Linux

O Readyboost, no Linux, consiste em direcionar prioritariamente os dados que iriam pra partição dedicada ao swap, em seu HD, para o seu pendrive que, por não conter partes mecânicas, é mais rápido. Em um sistema com 512MB de memória RAM, ou menos, será possível notar diferença na performance. Uma advertência inicial: todo o conteúdo do seu pendrive será apagado durante este processo. Tire backup antes, portanto. Ao inserir o seu pendrive, o Ubuntu o montará e exibirá o seu conteúdo automaticamente. Clique sobre o ícone do pendrive na área de trabalho, com o botão direito do seu mouse e selecione Ejetar. Nós precisamos dele desmontado. Os comandos que seguem, partem do pressuposto de que o seu pendrive esteja conectado em /dev/sdb1. Adeque-os ao seu caso. Feito isto, abra um terminal com Ctrl+Alt+T e digite o seguinte comando:

sudo mkswap /dev/sdb1

Agora vamos direcionar o swap para o pendrive, com a máxima prioridade possível (32767):

sudo swapon -p 32767 /dev/sdb1

Para verificar se tudo foi feito corretamente, o comando a seguir mostra as partições swap em uso:

cat /proc/swaps

No meu caso, ele exibe o seguinte:

cat /proc/swaps
Filename				Type		Size	Used	Priority
/dev/sda1                               partition	1951740	0	-1
/dev/sdb1                               partition	249820	0	32767

A quarta coluna exibe o quanto está sendo usado do swap: 0 (zero).

LEIA MAIS

Existe uma técnica, para reduzir o uso do SWAP, que pode melhorar o desempenho do seu sistema Linux.
Leia mais sobre isto, aqui.

Considerações finais

A função do swap é servir de extensão à memória RAM.
— De forma resumida, quando esta fica saturada, os arquivos menos usados são realocados pro swap, que fica em um arquivo ou em uma partição exclusiva (recomendado). Este é o principal motivo pra solução descrita aqui não ter grande efeito em um sistema com grande quantidade de memória RAM, onde o swapping raramente é usado.
Contudo, ele tem outra utilidade, a de guardar todas as informações do estado atual do sistema quando este é posto pra hibernar. Neste caso, é possível experimentar melhor velocidade no processo de restabelecer o sistema. Neste caso, é necessário que o tamanho do espaço dedicado ao swap seja equivalente ao da memória RAM.

Bug do KnetworkManager – solução

De forma objetiva, tenho notado a presença do bug no uso do KDE 4, no Kubuntu, desde a versão 10.04, Lucid Lynx. O problema já foi relatado por usuários do Maverick Meerkat 10.10 também.

Costuma-se dizer que, do nada, o KnetworkManager deixa de funcionar e o seu ícone passa a exibir uma das seguintes mensagens: “rede indisponível”, “não gerenciado”, “unmanaged” ou “disabled” (nas versões em inglês). Comigo, isto tem ocorrido quando o PC ou o notebook entra em hibernação. Tive que reinstalar tudo algumas vezes e sair desligando todas as opções de hibernar disponíveis – pra evitar que ocorresse de novo.
A solução é mais simples do que isto.
Como root (administrador do sistema) abra o arquivo /var/lib/NetworkManager/NetworkManager.state e ajuste-o para que fique assim:

[main]
NetworkingEnabled=true
WirelessEnabled=true
WWANEnabled=true

Entendeu? Todas as opções têm que estar “true”. Não esqueça de reiniciar a máquina, depois.

Continuando…

Para as próximas vezes em que o problema ocorrer, faça download do seguinte script.
Agora, abra um terminal e mude sua condição para executável. Quando o KNetworkManager parar de funcionar de novo, basta rodá-lo como administrador (root):
falken@Joshua:~/Download$ chmod aug+x raxb300P.txt
falken@Joshua:~/Download$ sudo ./raxb300P.txt

password for falken:
Checking for root…
You are root. moving on
Problem found..
Problem repaired.

E não esqueça de reiniciar.
Fontes: http://pastebin.com/raxb300P, http://ubuntuforums.org/showthread.php?t=1464187