A tecnologia é construída no kernel, você não precisa de ferramentas extras. Na verdade, você já tem alguns discos RAM (que você não deveria usar, eles são reservados para o sistema), o que você pode ver fazendo
grep -w tmpfs /proc/mounts
Para configurar um disco RAM de 2 GB montado em /ramdisk
, adicione a seguinte linha a /etc/fstab
:
ramdisk /ramdisk tmpfs mode=1777,size=2g
Em seguida, monte o disco com o comando mount /ramdisk
(isso será feito automaticamente quando você reiniciar).
O tamanho indicado é o máximo, o disco usa apenas a quantidade de memória dos arquivos que estão nele.
Você pode alterar /tmp
para ser um disco RAM. Na linha /etc/fstab
acima, coloque /tmp
em vez de /ramdisk
e, em seguida, reinicialize.
Na primeira vez que você reinicializar após alterar /tmp
para ser um disco RAM, os arquivos que estavam em /tmp
serão ocultados. Isso é inofensivo, exceto que eles estão desperdiçando um pouco de espaço em disco. Você pode limpá-los ( após ter reiniciado com /tmp
no disco RAM) fazendo
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
O comando mount --bind
torna /mnt
uma visualização duplicada do seu sistema de arquivos raiz; mas enquanto o disco RAM agora obscurece /tmp
na visão raiz, nada está obscurecendo /mnt/tmp
.
ADICIONADO : você pode trocar /tmp
para um disco RAM sem reiniciar, é um pouco mais complicado. Adicione a linha a /etc/fstab
como acima e execute os seguintes comandos:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
Em seguida, exclua /tmp.old
após sua próxima reinicialização.
O motivo pelo qual você não pode simplesmente mover arquivos de /tmp.old
para /tmp
é que alguns programas críticos têm arquivos abertos em /tmp
, por exemplo /tmp/.X11-unix/X0
que o servidor X atende e todo programa GUI é aberto quando começa. Mover um arquivo para um sistema de arquivos diferente significa copiá-lo e excluí-lo, então você acabaria com o servidor X ainda atendendo em /tmp.old/.X11-unix/X0
, mas os clientes X entrando em contato com /tmp/.X11-unix/X0
em vão. Em um servidor, você pode se safar se for cuidadoso.