gnu linux badge

Como criar um disco virtual (ram drive) na memória RAM com Linux

A memória RAM representa um espaço de armazenamento extremamente rápido no sistema. Tão rápido, que é difícil comparar com os outros dispositivos mecânicos, como o disco rígido ou HD.
Usar uma parte desta memória como um sistema de arquivos pronto para armazenar seus dados, pode ser uma solução interessante em alguns casos.

O recurso é chamado de drive virtual RAM ou drive de software RAM e oferece um desempenho muito superior ao de um HD ou, mesmo, de um SSD.

bios memória ram ddr3
Trata-se de um hack e ele não traz solução milagrosa para problemas de desempenho. mas pode resolver alguns problemas pontuais que vocẽ esteja tendo.
Usar uma quantidade excessiva de memória RAM, como drive virtual ou ram drive, pode causar outros problemas, uma vez que todos os outros aplicativos presentes no sistema dependem e fazem uso desta memória.
Quando começar a faltar memória RAM para outros aplicativos e arquivos, o sistema passará a fazer uso da memória virtual em disco ou swap (que é o recurso oposto) e acabará perdendo desempenho significativamente.
Pra ficar do lado seguro, não use mais do que 25% da memória RAM livre.
Para saber quanto de memória RAM você tem e quanto, deste total, se encontra livre, use o comando free:

free -h
             total       usado      livre    compart.  buffers     em cache
Mem:          7,5G       3,6G       3,9G       249M        66M       1,9G
-/+ buffers/cache:       1,7G       5,8G
Swap:          15G         0B        15G

A velocidade máxima de transferência de dados de um disco virtual RAM está limitado por fatores como o bus de dados (na placa-mãe), a CPU e os próprios limites de velocidade de transferência da memória RAM.

Para criar um disco virtual de 512 Megabytes, use a seguinte sequência de comandos.
Comece por criar um diretório, que servirá de “link” ou atalho pro seu disco:

sudo mkdir /mnt/ramdisk

em seguida, monte o disco:

mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk

Agora você pode acessar o seu novo disco, no endereço /mnt/ramdisk (inclusive com o gestor de arquivos gráfico).

Em caso de queda de energia ou desligamento proposital do sistema, você pode perder todos os dados armazenados na memória RAM (ela é volátil).
Isto exige que os dados sejam permanentemente copiados para um local seguro (usualmente, o HD).
Por isto, o uso de um disco virtual costuma ser para dados que já tenham cópias em outras mídias mais lentas (CD, DVD, Blu-Ray, HD, SSD etc.).
Dados que se encontram criptografados, por exemplo, podem ser manipulados com mais agilidade em um disco virtual RAM, por exemplo.

Como ter um disco virtual permanente

Se você quiser que o seu sistema sempre inicie o seu ramdrive, insira as configurações feitas no arquivo /etc/fstab (pode ser no final):

tmpfs       /mnt/ramdisk tmpfs   nodev,nosuid,noexec,nodiratime,size=512M   0 0

Tenha em mente que esta solução apenas recria o disco virtual, do zero, toda vez que você iniciar o seu sistema. Os dados, dentro do disco virtual, não se tornam permanentes com esta solução.

Considerações finais

Um sistema GNU/Linux para desktop (Debian, Ubuntu, Fedora etc), normalmente funciona bem com 2 GB de memória RAM. Com 4 GB, funciona melhor ainda.
O que acontece é que alguns usuários pensam em usar a sobra de memória RAM para melhorar de alguma forma o seu sistema como um todo, ao passar alguns processos ou atividades para lá.
O fato é que o Linux já faz tudo isso sozinho, de uma forma ou de outra.
O caching é uma forma de usar a velocidade da memória RAM ou da memória cache, para armazenar temporariamente arquivos e ganhar desempenho.
Há muito pouca margem para ajustes neste ponto, a menos que as suas necessidades sejam mais específicas que as do usuário médio.
Para a maioria dos usuários desktop comuns, o Linux representa o suprassumo da gestão dos recursos do sistema — ele tira e faz o melhor com o que você tem aí.
No artigo Como melhorar o desempenho do Ubuntu, há uma série de dicas para melhorar o desempenho do seu sistema (e valem para qualquer distro). Com estas dicas, é possível tunar o seu sistema e arrancar-lhe mais desempenho.
No que tange um ramdrive as aplicações são muitas. Vou enumerar algumas que eu já usei:

  • espaço de armazenamento temporário de imagens de um DVD, é muito mais rápido carregar as imagens da RAM do que do DVD e, no final, não preciso me preocupar em apagar. Desligou o PC, tá limpo.
  • espaço para armazenar imagens de sistemas operacionais criados com o QEMU, o que torna mais rápido carregar uma máquina virtual. Se não for feita qualquer mudança no sistema dela, não há necessidade de copiar de volta, depois do uso.
  • substituto do diretório de armazenamento de imagens do Apache web server, que ajuda a entregar as imagens do servidor mais rápido aos usuários.

E você? Para que gostaria de usar o seu ramdrive?

Referências:
https://en.wikipedia.org/wiki/RAM_drive.
http://www.linuxscrew.com/2010/03/24/fastest-way-to-create-ramdisk-in-ubuntulinux/.
http://www.jamescoyle.net/how-to/943-create-a-ram-disk-in-linux.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

2 comentários sobre “Como criar um disco virtual (ram drive) na memória RAM com Linux”

  1. vinicius@vinicius-Aspire-E1-471:~$ sudo mkdir /mnt/ramdisk
    [sudo] senha para vinicius:
    Sinto muito, tente novamente.
    [sudo] senha para vinicius:
    Sinto muito, tente novamente.
    [sudo] senha para vinicius:
    mkdir: é impossível criar o diretório “/mnt/ramdisk”: Arquivo existe
    errei a senha mais tudo bem. o que fazer?

    1. Você não pode criar o diretório /mnt/ramdisk, sem privilégios administrativos (para isto, tem que acertar sua senha).
      Além disto, se o “arquivo existe” já, não será possível criar um novo no mesmo local.
      Tente seguir adiante.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *