Como usar um pendrive para acelerar o Linux

O Windows tem um recurso chamado ReadyBoost que permite utilizar um pendrive como um tipo de memória auxiliar, para acelerar o sistema. Esse recurso só funciona em máquinas que usam HD, não SSD.
Gostaria de saber se tem como fazer algo parecido no Linux. Às vezes quando eu estou usando alguns programas pesados, como o Android Studio, meu PC fica muito lento, devido à sobrecarga de memória. Também li que usar memória SWAP deixa o sistema mais lento, por conta da leitura/escrita no disco rígido.
Bom, tem como eu fazer isso, usar um pendrive como memória auxiliar para deixar o sistema menos lento nessas ocasiões?

Obs.: Já vou avisando que não adianta sugerir eu comprar memória RAM, esse PC é muito velho, não vale a pena trocar nada nele, quando eu puder vou comprar um novo kkk, tô procurando apenas um paliativo por enquanto.

Eu testei o recurso ReadyBoost do Windows e posso dizer que não passa de um placedo, essa tecnologia somente era compatível com alguns pendrives que possuíam uma taxa de leitura/escrita mais alta e sinceramente não fui capaz de medir o benefício em aplicações reais.

Sobre como conseguir mais performance usando uma distribuição Linux em hardware antigo existem muitas opções: utilize uma distribuição focada em leveza, use um ambiente gráfico menos exigente como o Cinnamon / XFCE, faça alguns tweaks de pós-instalação para otimizar o sistema e por fim, teste algumas versões diferentes de kernel.

Não existe mágica para contornar as limitações do equipamento, o lance é espremer o máximo possível do que ele pode oferecer.

:vulcan_salute:

3 curtidas

Estou usando o Mint com Cinnamon, já fiz vários ajustes, desativei muita coisa. O sistema está bem otimizado. No uso normal para usar aplicações básicas está bem tranquilo, é só mesmo quando estou usando aplicações mais pesadas, como o Android Studio que ele fica meio travado.
Quanto ao kernel, você acha que se eu usar uma versão mais antiga posso conseguir uma melhor performance?

Para achar o kernel que vai ficar mais redondo você vai ter que fazer alguns testes. Pesquise qual é a série mais recomendada para o seu modelo de processador.

Considerando seu relato de que já está com um sistema otimizado, talvez a lentidão que está sentido seja apenas o limite da máquina se manifestando.

Eu fiquei anos com um Fx 8350 e chegou um ponto que percebi que simplesmente não havia mais para onde correr não havia o que otimizar, eu havia delineado o limite daquele conjunto e simplesmente lidava com isso.

:vulcan_salute:

Pensei em “acelerar” seu computador se o pendrive for bem mais rápido que seu disco e que seja formatado e montado como swap. Tem a desvantagem que vai ter que ficar conectado direto no seu computador. Vai ter que configurar para que o kernel comece a usar o swap de forma mais agressiva (tipo começar a usar quando atignir 50% da ram), pois geralmente ele só usa quando atinge 90% de uso.

Já para acelerar o acesso ao disco, já vi casos de arrays de hds terem SSD como cache de disco. Pesquisei um pouco e achei nessa pergunta software rec - How can I use my small SSD as a cache for a larger hard disk? - Super User dica de dois programas que podem usar um ssd como cache pro disco. Não sei se poderia acelerar a partição raiz ou apenas a home… Teria que investigar mais.

O bcache está integrado no kernel linux! É só usar: Bcache - ArchWiki

Achei esse link também. No final o cara diz que é bem complicado pro usuário médio, mas melhora sensivelmente embora não seja algo extraordinário. No benchmark de escrita ele reclama que estranhamente piorou um pouco…

https://freedompenguin.com/articles/how-to/boost-hard-drive-bcache/

O ReadyBoost não da resultado.
Para melhorar a performance do kernel seria você compilar ele otimizado exclusivamente para o seu CPU.
Usuários hardcore fazem isso.
Não é difícil compilar kernel só que é trabalhoso.

O que o Readyboost faz, na prática, é paginar num drive externo, geralmente um pendrive ou cartão SD, ou até mesmo em dispositivos criados para essa finalidade e que eram plugados diretamente nos conectores USB das placas mãe. Se você quiser emular esse sistema no linux, basta configurar o swap em um pendrive ou cartão SD. A alguns anos atrás eu li algumas matérias/blogs/fóruns que falavam dessa possibilidade. Por curiosidade, naquela época, fiz isso de teste, mas não percebi absolutamente nenhuma diferença.

Procurando aqui no “google”, achei essa matéria.

Vou tentar fazer isso, vamo ver se faz alguma diferença.

Pensei em fazer isso também, eu tava lendo um artigo do @dio ensinando, vou testar.

O artigo do Diolinux só ensina a compilar o kernel.
Para saber compilar o kernel otimizado para o seu processador é preciso ler artigos que tenho esse objetivo.

Cada um desses 2 link comenta um pouco sobre otimização você pode junta as otimização dos 2 no seu kernel.
No artigo do ubuntuforum-br.org diz para não utilizar a opção -O3 mais eu utilizei e não tive problema.

  • Não use a opção -03 ! Permaneça com a -02 !
    É -O3 de letra “O” e não -03 de numero “0”.
    KBUILD_HOSTCFLAGS = -O3 -march=native
    KBUILD_HOSTCXXFLAGS = -O3 -march=native
    Para que nas 2 opção seja otimizado.

Sim é bem trabalhoso compilar o kernel otimizado.
Não esqueça de usar a opção -jN onde N é o numero de core do seu CPU para agilizar a compilação.

Se você tiver usando SSD vai deixar o sistema mais lento do que fazer Swap no seu SSD.
Se você estiver em HD vai deixar o seu sistema mais rápido somente em leitura aleatória e vai deixar mais lento em leitura sequencial é bem provável que vai ficar mais lento na performance geral.
Se for HDSSD vai deixar o sistema mais lento do que fazer Swap no seu HDSSD.

Swap não é para melhorar a performace.
A existência de Swap é para quando a memoria do seu sistema lotar o sistema não trave o reinicie por falta de RAM.

Entendo, a dúvida era só se usar a swap no pendrive, por exemplo, seria mais vantajoso que no disco rígido. Pelo que o pessoal tem falado parece que não.

Obrigado pela dica :+1: