Risposte:
La tecnologia è integrata nel kernel, non hai bisogno di strumenti extra. In effetti, hai già alcuni dischi RAM (che non dovresti usare, sono riservati per il sistema), che puoi vedere facendo
grep -w tmpfs /proc/mounts
Per configurare un disco RAM da 2 GB montato /ramdisk
, aggiungere la seguente riga a /etc/fstab
:
ramdisk /ramdisk tmpfs mode=1777,size=2g
Quindi montare il disco con il comando mount /ramdisk
(questo verrà fatto automaticamente al riavvio).
La dimensione indicata è massima, il disco utilizza solo la quantità di memoria dei file in essa contenuti.
È possibile cambiare /tmp
per essere un disco RAM. Nella /etc/fstab
riga sopra, inserisci /tmp
invece di /ramdisk
, quindi riavvia.
La prima volta che si riavvia dopo /tmp
essere passati a un disco RAM, i file presenti /tmp
verranno nascosti. È innocuo, tranne per il fatto che stanno sprecando un po 'di spazio su disco. Puoi pulirli ( dopo aver riavviato con /tmp
sul disco RAM) facendo
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
Il mount --bind
comando crea /mnt
una vista duplicata del filesystem di root; ma mentre il disco RAM ora oscura /tmp
nella vista radice, nulla è oscuro /mnt/tmp
.
AGGIUNTO : è possibile passare /tmp
a un disco RAM senza riavviare, è solo un po 'più complicato. Aggiungi la riga /etc/fstab
come sopra, quindi esegui i seguenti comandi:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
Quindi elimina /tmp.old
dopo il tuo prossimo riavvio.
La ragione per cui non puoi semplicemente spostare i file da /tmp.old
a /tmp
è che alcuni programmi critici hanno file aperti /tmp
, ad esempio su /tmp/.X11-unix/X0
cui il server X è in ascolto e ogni programma GUI si apre all'avvio. Spostare un file in un diverso filesystem significa copiarlo ed eliminare quello vecchio, quindi si finirebbe con il server X ancora in ascolto /tmp.old/.X11-unix/X0
ma i client X contattano /tmp/.X11-unix/X0
invano. Su un server, potresti fare una mossa se stai attento.
/tmp
a tmpfs
. Non è necessario e ho modificato la mia risposta per spiegare come farlo, ma è più complicato. Non è mkfs
coinvolto perché non c'è spazio di archiviazione sottostante da preparare, il kernel gestisce tutto.
/tmp
sul disco aumenta la frequenza delle sincronizzazioni), ma questa è un'impressione soggettiva inaffidabile. Non ho mai provato a fare un benchmark.