Un Ramdisk è uno spazio volatile, tutte le informazioni memorizzate in esso andranno perse se il dispositivo viene spento o si riavvia.
In Linux, i Ramdisks possono essere creati utilizzando il monte di comando e i filesystems TMPFS e RAMFS. Questo tutorial mostra come creare un Ramdisk in Linux usando entrambi.
TMPFS e RAMFS:
TMPFS: TMPFS è un file system temporaneo memorizzato nella memoria RAM (e/o nella memoria di scambio). Specificando questo file system con l'argomento -T del comando montare, È possibile assegnare risorse di memoria limitate a un file system temporaneo. Di conseguenza, le applicazioni archiviate in questo filesystem funzionano più volte più velocemente di quanto farebbero sui dispositivi di archiviazione convenzionali, inclusi i dispositivi CSSD.
Ramfs: RAMFS è simile a TMPFS, ma l'utente non può garantire un limite e la risorsa allocata cresce in modo dinamico. Se l'utente non controlla il consumo di RAMFS, RAMFS continuerà a utilizzare tutta la memoria fino a quando non si blocca o si blocca il sistema.
Tmpfs vs. Ramfs: Non vi è alcuna differenza notevole tra le prestazioni di TMPF e il suo predecessore RAMFS. Il motivo per cui i RAMF vengono sostituiti da TMPFS è il rischio di consumo di RAM illimitato da RAMFS che può portare a un crash di sistema.
Un altro vantaggio di TMPF su RAMFS è la possibilità di utilizzare lo spazio di swap mentre i RAMF sono limitati alla memoria hardware.
Come creare un Ramdisk in Linux usando TMPFS:
Innanzitutto, vediamo la memoria libera che possiamo usare prima di creare un punto di montaggio TMPFS. Per controllare la RAM e lo scambio disponibili, è possibile utilizzare il comando gratuito. Per stampare i risultati in gigabyte, è possibile aggiungere l'argomento -giga, come mostrato nell'esempio seguente:
gratuito --giga
Come puoi vedere nell'output sopra, ho due GB fisici e due nello spazio di scambio.
Ora, crea un punto di montaggio sotto la directory /mnt usando il comando mkdir come mostrato nell'esempio seguente. La scelta del nome del punto di montaggio è arbitraria. Se hai intenzione di utilizzare il Ramdisk per un'applicazione specifica, puoi nominare il punto di montaggio dopo di esso. Nell'esempio seguente lo chiamo /mnt/tmp:
sudo mkdir /mnt /tmp
Ora puoi creare il Ramdisk usando il comando monte. L'esempio seguente mostra come creare un Ramdisk usando TMPFS su 2 GB di RAM/SWAP, sul punto di montaggio/MNT/TMP.
L'argomento -t (tipo) consente di specificare il file system (in questo caso, TMPFS). L'argomento -o (opzioni) viene utilizzato per definire lo spazio per il ramdisk.
Mount -t Tmpfs -O size = 2G TMPFS /MNT /TMP
Il Ramdisk è stato creato in /MNT /TMP.
SSD vs. TMPFS:
Ho copiato un'immagine Ubuntu dalla directory home di un utente alla directory principale nella seguente screenshot.
Usando il tempo di comando per visualizzare i tempi, è possibile vedere il processo di copia ha preso 0:55.290s
Time CP/Home/LinuxHint/Downloads/Ubuntu-20.04.1-Desktop-AMD64.iso .
Nella seguente screenshot, puoi vedere come la copia della stessa immagine Ubuntu ISO a Ramdisk prende 0: 9.424s:
Time CP Ubuntu-20.04.1-Desktop-AMD64.ISO/MNT/TMP/
Come puoi vedere, la differenza è Titanic e il Ramdisk è molto vantaggioso per le attività con grandi quantità di file.
Per rimuovere il Ramdisk, slegalo eseguendo il seguente comando e sostituendo TMP con il punto di montaggio:
umount /mnt /tmp
Creazione di un Ramdisk in Linux usando Ramfs:
La procedura per creare un Ramdisk usando Ramfs è la stessa di TMPFS. Il comando seguente creerà un ramdisk dinamico sul punto di montaggio /MNT /TMP.
Mount -t Ramfs -o size = 4 Ramfs /MNT /TMP
Tmpfs vs. Ramfs:
Ora testiamo le prestazioni RAMFS contro TMPFS e vediamo cosa succede quando ogni tipo Ramdisk raggiunge il limite definito.
Nel primo esempio, creerò un Ramdisk da 2 GB usando TMPFS e proverò a copiare un ISO più grande all'interno:
Mount -t Tmpfs -O size = 2G TMPFS /MNT /TMP
Time CP Ubuntu-20.04.1-Desktop-AMD64.ISO /MNT /TMP
Come puoi vedere, il CP ha restituito un errore perché lo spazio Ramdisk non è sufficiente per l'immagine ISO. Ho assegnato solo 2 GB per il Ramdisk.
Ora, vedi cosa succede quando faccio la stessa procedura usando Ramdisk:
Mount -t Ramfs -o size = 2G Ramfs /MNT /TMP
Time CP Ubuntu-20.04.1-Desktop-AMD64.ISO /MNT /TMP
Come puoi vedere, i RAMF hanno continuato a scrivere in /MNT /TMP anche se ho definito un limite di 2 GB. Questo è uno svantaggio RAMFS perché può appendere un sistema consumando tutta la sua memoria RAM. Al contrario, TMPFS è limitato all'importo della memoria definiamo.
Puoi anche vedere nell'output che l'attività di copia è stata eseguita entro 0: 9.624s, quasi le stesse prestazioni mostrate da TMPFS nel test contro SSD.
Nota: è stata utilizzata la stessa immagine ISO.
Conclusione
La creazione di un Ramdisk è un processo di un minuto con vantaggi significativi per qualsiasi utente che deve elaborare grandi file. L'aumento della velocità di lettura e della scrittura aumenta esponenzialmente sui migliori dischi rigidi sul mercato. Il software portatile può essere eseguito da un Ramdisk, sebbene le modifiche non saranno persistenti. Questa implementazione è molto apprezzata dai redattori dei media i cui compiti richiedono lunghi periodi di conversione dei media.
L'uso di RAMFS può essere rischioso se il sistema si esaurisce le risorse. Ecco perché TMPFS è diventato il primo metodo.
Spero che questo tutorial per creare un Ramdisk in Linux sia stato utile. Continua a seguire il suggerimento Linux per ulteriori suggerimenti e tutorial Linux.