Ci sono delle applicazioni (es. flashplayer) che usano avidamente la cartella /tmp per sversare quanti più dati possibili.
Ogni volta che carichiamo un video (es da YouTube) facciamo cache della parte che segue, poi cambiamo video e la cancelliamo, quindi è un continuo leggi/scrivi sul disco e poi ci lamentiamo che la temperatura del hard disk è come quella della bistecchiera... il ramdisk è la situazione ideale per queste situazioni.
Attenzione: i dati salvati nel ramdisk spariscono ogni volta che riavviamo il PC. Utilizzate questa tecnica solo per file temporanei che vi serve avere un accesso veloce.
free -m
Se una volta aperti tutti i programmi che usiamo di solito ci avanza della RAM, possiamo utilizzarla come se fosse un vero e proprio disco aggiuntivo.
Ecco come:
NOTA. Se vi accontentate di 64mb, gli utenti di Linux Ubuntu possono saltare questo passaggio.
sudo gedit /boot/grub/menu.lst
Cercate o aggiunegete la seguente riga nelle opzioni di default e mettete la dimensione del vostro ramdisk.
Lasciate la riga commentata.
Per gli altri, aggiunegete ramdisk_size=<numero byte> nel kernel che volete.
# kopt=root=UUID=6cbcd6e9-f913-48fc-a341-c5f05eb57b21 ro ramdisk_size=<dimesione in byte del ramdisk>
Controllate che l'opzione venza aggiunta ai kernel che avete
sudo update-grub
sudo gedit /etc/init.d/mount-ramdisk.sh
# Modificatelo con quello che volete nella memoria volatile
mke2fs -q -m 0 /dev/ram0
mount /dev/ram0 /tmp
chmod 777 /tmp
ln -s /etc/init.d/mount-ramdisk.sh /etc/rc2.d/S01mountramdisk
Fatto, dal prossimo riavvio la vostra cartella /tmp è in ram e il vostro hard disk sarà di meno un macina caffé bollente.
commenti
non vorrei sbagliare ma non
non vorrei sbagliare ma non manca un
sudo chmod +x /etc/init.d/mount-ramdisk.shperchè altrimenti mi sputa fuori un permission denied al boot
Comunque utilissimo, grazie mille.
sì
essendo uno script deve essere eseguibile
ovviamente il UUID deve
ovviamente il UUID deve essere quello del vostro disco ... e nn lo stesso di quello scritto sopra ...
Veramente ottimo!
Questo GNU/Linux mi fa rimanere sempre a bocca aperta, è incredibile quante cose utili si scoprono ogni giorno!! Questa in particolare farebbe proprio al caso mio, visto che proprio ieri un e2fsck -c mi ha trovato parecchi pezzi di hard disk andati a male, quindi meno uso il disco e meglio è (almeno per quei pochi mesi di vita che gli rimangono).
passiamo a qualche domanda:
- la dir /tmp non dovrebbe avere dei permessi speciali (che ora non ricordo esattamente) che permettono a tutti gli utenti di modificare solo i file che essi stessi hanno creato (di cui sono i proprietari), in modo che non possono leggere/scrivere i file degli altri utenti? mi pare si chiami sticky bit o qualcosa del genere.
- bisogna per forza passare l'opzione all'avvio? non c'è un modulo da caricare "a caldo"? se si, quale?
- una volta creato lo script in /etc/init.d, non è meglio eseguire lo script update-rc.d che automatizza la creazione dei link simbolici nelle varie /etc/rc*.d?
- qual'è una dimensione sufficiente per la dir /tmp? forse 64MB sono un po' pochini
Grazie e complimenti per il blog, una nuova voce da aggiungere al mio rss reader! :-)
ramdisk
Questa soluzione è per lo più indicata per un unico utente che accede alla macchina.
Dimensione e sicurezza del ramdisk dipendono dal tuo grado di paranoia; è difficile stabilire con certezza quanto si riempirà /tmp sicuramente sarà diversa se fai editing video o se navighi solo sul web.
- bisogna per forza passare l'opzione all'avvio? non c'è un modulo da ..
prova con qualcosa come
swapoff /dev/la-swap
e ti fai un'icona che chiana sudo /etc/init.d/init-ramdisk