Categories
Linux Tutoriais

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

Um RAM drive é uma unidade disco virtual criado na memória RAM do seu sistema, que se beneficia da maior velocidade desta mídia. Neste post, eu ensino como criar um dispositivo virtual de armazenamento em RAM em 2 passos.

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 MB, 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

A configuração e os dados contidos na unidade virtual serão perdidas com a reinicialização do sistema.
Para tornar a configuração persistente, é necessário inseri-la no arquivo 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 já 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.

By 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!

5 replies on “Como criar um disco virtual (ram drive) na memória RAM com Linux”

Pergunta: Após criar esse disco na RAM, como faço para que todo o sistema vá para essa memória e eu possa remover esse pendrive e colocar outro para usá-lo? Só tenho uma USB.
Me ajuda. Não tenho HD no notebook, uso o Linux nesse pendrive.

por isso, qualquer linux-LIVE com velocidade disco(usando RAM) é altissimo velocidade deu mais 1,8gb por segundo, por isso queria continua memoria imagino jogar com alto velocidade, como faz ? pq se instalacao linux, nao vai ser programas vao para RAM, só vai para uso disco HD ou SSD, mas SSD é limite 550mb ou M2(limite ate 1200 a 1500mb por segundo) pois memoria RAM é absurdo demais velocidade altissimo ! meu interesse é colocar RAM para dentro imagino jogar CSGO carrega menos 1 segundo ja começa jogar !!

cara, acho que deu certo aqui, só tenho uma duvida (desculpe a ignorância, ainda sou novo no linux), como eu uso essa espaço depois de feito? é automático? tenho de fazer algo?

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?

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.