Como criar um Ramdisk no Linux

Como criar um Ramdisk no Linux
Um Ramdisk é um espaço de armazenamento volátil definido na memória RAM. O uso desse recurso aumenta o desempenho do processamento de arquivos dez vezes sobre os melhores discos rígidos do SSD. A implementação de um RamDisk é muito vantajoso para usuários cujas tarefas exigem quantidades significativas de recursos de hardware. Além disso, editores e jogadores de mídia podem aproveitar esta implementação.

Um Ramdisk é um espaço volátil, todas as informações armazenadas nele serão perdidas se o dispositivo for desligado ou reiniciar.

No Linux, os ramdisks podem ser criados usando o suporte de comando e os sistemas de arquivos tmpfs e ramfs. Este tutorial mostra como criar um RamDisk no Linux usando os dois.

TMPFs e Ramfs:

TMPFS: O TMPFS é um sistema de arquivos temporário armazenado na memória RAM (e/ou na memória de troca). Especificando este sistema de arquivos com o argumento -t do comando montar, Você pode atribuir recursos de memória limitados a um sistema de arquivos temporário. Como resultado, os aplicativos armazenados neste sistema de arquivos terão um desempenho várias vezes mais rápido do que em dispositivos de armazenamento convencionais, incluindo dispositivos CSSD.

Ramfs: Ramfs é semelhante ao TMPFS, mas o usuário não pode garantir um limite e o recurso alocado cresce dinamicamente. Se o usuário não controlar o consumo RAMFS, o RAMFS continuará usando toda a memória até pendurar ou travar o sistema.

TMPFS vs. Ramfs: Não há diferença notável entre o desempenho do TMPFS e seu antecessor Ramfs. A razão por trás dos Ramfs sendo substituídos pelo TMPFS é o risco ilimitado de consumo de RAM pelos RAMFs, o que pode levar a uma falha no sistema.

Outra vantagem dos TMPFs sobre Ramfs é a capacidade de usar o espaço de troca, enquanto os Ramfs são limitados à memória de hardware.

Como criar um RamDisk no Linux usando o TMPFS:

Primeiro, vamos ver a memória livre que podemos usar antes de criar um ponto de montagem TMPFS. Para verificar a RAM e a troca disponível, você pode usar o comando grátis. Para imprimir os resultados em gigabytes, você pode adicionar o argumento -GIGA, conforme mostrado no exemplo abaixo:

grátis -giga

Como você pode ver na saída acima, tenho dois GB físicos e dois no espaço de troca.

Agora, crie um ponto de montagem sob o diretório /mnt usando o comando mkdir como mostrado no exemplo abaixo. A escolha do nome do ponto de montagem é arbitrário. Se você vai usar o RamDisk para um aplicativo específico, pode nomear o ponto de montagem depois dele. No exemplo abaixo, eu chamo /mnt/tmp:

sudo mkdir /mnt /tmp

Agora você pode criar o Ramdisk usando o comando de montagem. O exemplo a seguir mostra como criar um Ramdisk usando TMPFs em 2 GB de RAM/Swap, no ponto de montagem/mnt/tmp.
O argumento -t (tipo) permite especificar o sistema de arquivos (neste caso, tmpfs). O argumento -o (opções) é usado para definir o espaço para o Ramdisk.

montagem -t tmpfs -o size = 2g tmpfs /mnt /tmp

O Ramdisk foi criado em /mnt /tmp.

SSD vs. TMPFS:

Copiei uma imagem do Ubuntu do diretório inicial de um usuário para o diretório raiz na captura de tela a seguir.

Usando o tempo de comando para exibir o tempo, você pode ver que o processo de cópia levou 0:55.290s

Time CP/Home/Linuxhint/Downloads/Ubuntu-20.04.1-DESKTOP-AMD64.ISO .

Na captura de tela a seguir, você pode ver como copiar a mesma imagem ISO do Ubuntu para o Ramdisk leva 0: 9.424s:

Time CP Ubuntu-20.04.1-DESKTOP-AMD64.iso/mnt/tmp/

Como você pode ver, a diferença é Titanic e o Ramdisk é muito vantajoso para tarefas com grandes quantidades de escrita de arquivos.

Para remover o Ramdisk, basta desmontá -lo executando o seguinte comando e substituindo o TMP pelo seu ponto de montagem:

Umount /mnt /tmp

Criando um Ramdisk no Linux usando Ramfs:

O procedimento para criar um RamDisk usando Ramfs é o mesmo que com o TMPFS. O comando a seguir criará um ramdisk dinâmico no ponto de montagem /mnt /tmp.

montagem -t ramfs -o size = 4 ramfs /mnt /tmp

TMPFS vs. Ramfs:

Agora, vamos testar o desempenho do RAMFS contra o TMPFS, e vamos ver o que acontece quando cada tipo de ramdisk atingir o limite definido.

No primeiro exemplo, criarei um Ramdisk de 2 GB usando o TMPFS e tentarei copiar um ISO maior dentro:

montagem -t tmpfs -o size = 2g tmpfs /mnt /tmp
Time CP Ubuntu-20.04.1-DESKTOP-AMD64.ISO /MNT /TMP

Como você pode ver, o CP retornou um erro porque o espaço Ramdisk não é suficiente para a imagem ISO. Eu atribuí apenas 2 GB para o Ramdisk.

Agora, veja o que acontece quando eu faço o mesmo procedimento usando RamDisk:

montagem -t ramfs -o size = 2g ramfs /mnt /tmp
Time CP Ubuntu-20.04.1-DESKTOP-AMD64.ISO /MNT /TMP

Como você pode ver, os Ramfs continuaram escrevendo /mnt /tmp, embora eu tenha definido um limite de 2 GB. Isso é desvantagem do RAMFS, porque pode pendurar um sistema consumindo toda a sua memória RAM. Pelo contrário, o TMPFS é limitado à quantidade de memória que definimos.

Você também pode ver na saída que a tarefa de cópia foi realizada dentro de 0: 9.624s, quase o mesmo desempenho mostrado pelo TMPFS no teste contra o SSD.

Nota: a mesma imagem ISO foi usada.

Conclusão

Criar um Ramdisk é um processo de um minuto com benefícios significativos para qualquer usuário que precise processar arquivos grandes. A velocidade de leitura e escrita aumenta exponencialmente sobre os melhores discos rígidos do mercado. O software portátil pode ser executado a partir de um ramdisk, embora as mudanças não sejam persistentes. Esta implementação está sendo muito apreciada pelos editores de mídia cujas tarefas exigem longos períodos de conversão de mídia.

O uso do RAMFS pode ser arriscado se o sistema ficar sem recursos. É por isso que o TMPFS se tornou o primeiro método.

Espero que este tutorial para criar um Ramdisk no Linux tenha sido útil. Continue seguindo o Linux Dint para mais dicas e tutoriais do Linux.