Respostas:
A tecnologia está embutida no kernel, você não precisa de ferramentas extras. Na verdade, você já possui alguns discos de RAM (que não devem ser usados, eles são reservados para o sistema), que você pode ver fazendo
grep -w tmpfs /proc/mounts
Para configurar um disco RAM de 2 GB montado /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 tanta memória quanto os arquivos nele contidos.
Você pode mudar /tmppara ser um disco RAM. Na /etc/fstablinha acima, coloque em /tmpvez de /ramdisk, em seguida, reinicie.
Na primeira vez em que você reinicia após mudar /tmppara um disco RAM, os arquivos que estavam /tmpnele serão ocultados. Isso é inofensivo, exceto que eles estão desperdiçando um pouco de espaço em disco. Você pode limpá-los ( depois de reiniciar /tmpno disco RAM) fazendo
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
O mount --bindcomando faz /mntuma visualização duplicada do seu sistema de arquivos raiz; mas enquanto o disco RAM agora obscurece /tmpna visualização raiz, nada está obscurecendo /mnt/tmp.
ADICIONADO : Você pode alternar /tmppara um disco RAM sem reiniciar, é apenas um pouco mais complicado. Adicione a linha /etc/fstabcomo 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.oldapós sua próxima reinicialização.
O motivo pelo qual você não pode simplesmente mover arquivos de /tmp.oldpara /tmpé que alguns programas críticos têm arquivos abertos /tmp, por exemplo, nos /tmp/.X11-unix/X0quais o servidor X escuta e todo programa GUI é aberto quando é iniciado. Mover um arquivo para um sistema de arquivos diferente significa copiá-lo e excluir o antigo, para que você acabe com o servidor X ainda escutando, /tmp.old/.X11-unix/X0mas clientes X entrando /tmp/.X11-unix/X0em contato em vão. Em um servidor, você pode se mudar com cautela.
/tmppara tmpfs. Não é necessário e editei minha resposta para explicar como fazê-lo, mas é mais complicado. Não há mkfsenvolvimento porque não há armazenamento subjacente a ser preparado, o kernel lida com tudo.
/tmpo disco aumenta a frequência das sincronizações), mas essa é uma impressão subjetiva não confiável. Eu nunca tentei fazer benchmark.