Daria pra usar o /swapfile como ramdisk (Ubuntu 20.04)?

Bom dia, lendo o artigo do Diolinux sobre swapfile, me ocorreu se funcionaria utilizar o swapfile num ramdisk no /etc/fstab, tipo: tmpfs /swapfile tmpfs rw,size=2G 0 0.Será que daria certo?

Grato.

Como consta no man 5 tmpfs, os ramdisks do Linux utilizam toda memória do sistema sem distinção (incluindo a swap se houver necessidade). Não há como “direcionar” ela para um arquivo/swap específico.

A coisa mais perto do que você está procurando seria os loop mounts (que permitem montar arquivos locais como discos), mas aí você perde a velocidade dos ramdisks, além dos conteúdos deixarem de serem apagados automaticamente.

1 curtida

Simplesmente não faz sentido fazer isso. Você está usando a RAM para não usar a RAM?

Se é para fazer algo parecido, use o ZRAM, que ao menos compacta a informação para reescrever na memória.

2 curtidas

Provavelmente não, mas de qualquer forma não é uma boa ideia. Ramdisk é mais usado em sistemas com muita RAM para acelerar trabalhos onde I/O é um gargalo relevante, através do uso de memória volátil quando o programa envolvido não resolve essa questão nativamente.

E digo isso porque com frequência não é muito eficiente pois os formatos usados para armazenar em disco não são pensados para serem armazenados de forma eficiente em memória volátil, costumam ser convertidos, comprimidos, etc. E num ambiente assim, rápidamente o overhead de conversão para raw domina o problema.

Por exemplo em data science, é comum bibliotecas desenvolverem formatos voltados para armazenamento em memória volátil, feather é um exemplo do Apache Spark, estes arquivos são muito próximos do que já está em RAM nos arrow tables do spark.

1 curtida

@romulopb , se eu tiver , por exemplo 20 gb de ram, sem aplicações pesadas (dificilmente o sistema ocupa 10% de ram), ainda sim devo manter swap, seja em memória seja em arquivo ativa? Poderia simplesmente desabilitar a swap?

Antes de mais nada, provavelmente é o contrário, o sistema está deixando de usar apenas 10% de RAM. As DEs costumam não categorizar caching e certos buffers como “memória usada”.

Hoje, depois de coisas como hibernação e tal, esse é um dos melhores motivos para manter a SWAP, melhorar a eficiência de caching, mas considerando o padrão de uso que eu acho que você está imaginando para um sistema assim, eu diria que estas coisas são micro tunings e eu adotaria o que vem por padrão na distro, por outros motivos (é o mais usado, menos propenso a bugs, vai custar menos tempo da minha vida, etc). É bom sempre lembrar que otimização precoce é uma das maiores fontes de ineficiência por ai.

1 curtida