Come faccio a creare un disco RAM?


55

Voglio fare una partizione fatta di ram ...

Esempio

In Windows 7 puoi creare una partizione fatta di ram

inserisci qui la descrizione dell'immagine

Ho creato 1 GB di partizione in ram. usando Primo RamDisk

C'è qualche buona alternativa in Ubuntu?


3
Ubuntu viene fornito con tmpfs. Non è necessario creare un RAMDISK.
mixdev

A seconda del caso d'uso previsto, potrebbe non essere necessario un ramdisk per Ubuntu (o la maggior parte delle distro Linux). La cache del sistema operativo legge e scrive l'attività nella RAM mentre sta lavorando con dischi regolari. Se leggi un piccolo file più volte, verrà recuperato dal disco una sola volta, quindi recuperato dalla cache RAM nei seguenti orari. Se hai molta RAM, tutto ciò che fai verrà memorizzato nella cache in questo modo in modo da ottenere pochissima attività di ripetizione del disco. Se si desidera utilizzare una memoria veloce non persistente al posto dei file, è necessario ancora un RAMDISK. Vedi linuxatemyram.com per maggiori dettagli.
TafT

Risposte:


77

Questo ti mostrerà come rendere un RAMDISK super veloce e semplice. Con un RAMDISK puoi usare la tua memoria per spazio temporaneo ed è anche molto più veloce del tuo disco rigido.

Ora iniziamo usando i successivi 2 comandi per creare il tuo RAMDISK.

Inserisci quello che vuoi che il tuo RAMDISK venga chiamato dove ho scritto "nameme".

mkdir -p /media/nameme

mount -t tmpfs -o size=2048M tmpfs /media/nameme/
I comandi precedenti utilizzerebbero 2 GB della mia RAM per il RAMDISK. Se non hai più RAM di me, userei 512 MB o 1 GB. Quindi il prossimo sarebbe stato creare un comando per Terminal che creerà automaticamente il RAMDISK per te.

Fonte: Come creare un RAMDISK in Linux


3
Come posso rendere questo persistere tra i riavvii?
Chovy

1
Essendo RAM, è volatile, al riavvio, è tutto perso, anche se un avvio a caldo come BIOS / EFI cancella la RAM. La cosa migliore che puoi fare è creare uno script shell che esegua i comandi al login.
Brandon MacEachern

1
@chovy per persistere hai un paio di opzioni, penso a 2 al momento. 1. scrivere api per scrivere sul disco ram e scrivere asincrono sul disco hdd. Leggi sempre dal ram, solo all'avvio riscalda il ram dal disco. 2. di volta in volta chiamare alcuni script che copiano qualsiasi cosa nel disco ram su qualche disco hdd e copiarlo una volta dopo l'avvio.
Lukas,

un'altra opzione sarebbe quella di designare qualcosa come /tmp/cachela directory della cache, dove quella directory è in realtà il mountpoint di un overlayfs (usando un tmpfs come upperdir e qualsiasi altra cosa sul normale filesystem con cui interagire normalmente come lowerdir). questo ti permetterebbe di avere uno strato veloce, effimero e qualcosa che possa essere banalmente sincronizzato se occasionalmente volessi renderne persistenti parti.
mway

chovy lo aggiunge a /etc/rc.local e monterà automaticamente la partizione ... ma i dati andranno persi.
777non

49

Il filesystem tmpfs è un RAMDISK. Di seguito verrà creato un RAMDISK 2G che sarà sempre disponibile.

sudo mkdir -p /media/ramdisk
sudo mount -t tmpfs -o size=2048M tmpfs /media/ramdisk

La cartella ramdisk è di proprietà di root in quanto deve essere disponibile al riavvio. Le autorizzazioni di ramdisk dovrebbero essere scrivibili da tutti. Le autorizzazioni predefinite di tmpfs (chmod 1777) sono corrette.

sudo chmod 1777 /media/ramdisk
drwxrwxrwt 2 root root 180 Apr 23 07:34 /media/ramdisk

Per rendere il ramdisk permanentemente disponibile, aggiungilo a / etc / fstab.

grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab

Vedrai la linea spostata da mtab a fstab. Sembrerà qualcosa del genere.

tmpfs /media/ramdisk tmpfs rw,size=2048M 0 0

Il RAMDISK non consuma memoria fino a quando non lo si utilizza. Controlla nuovamente i requisiti di memoria durante il massimo carico del sistema. Se RAMDISK è troppo grande, il sistema consumerà memoria di swap per compensare la differenza.

Per regolare la dimensione del RAMDISK, modifica / etc / fstab e verifica rimontando il ramdisk (perderai il tuo attuale contenuto RAMDISK come al riavvio). Quanto segue cambierà la dimensione del ramdisk a 512M

# Check the existing ramdisk size.
df /media/ramdisk
# change size=512M for a 512 megabyte ram drive.
sudo vi /etc/fstab
# Remount the ramdisk, you will lose any existing content.
sudo mount -a /media/ramdisk
# Verify the new ramdisk size.
df /media/ramdisk

1
Tecnicamente, tmpfsè un ramfs, non ramdisk .
Hememl

2
Essere d'accordo. Ho scelto di usare RAMDISK in quanto è il nome comune per questo su Windows.
rickfoosusa,

Come si può verificare se il ramdisk è davvero in uso? Lo vedo sempre come usato 0%.
BTR Naidu,

9

Aggiungendo il mio 2 centesimi per il caso non hai i privilegi di root:

Citando questa risposta da unix.stackexchange

Linux fornisce un dispositivo tmpfs che qualsiasi utente può usare, / dev / shm. Non è montato su una directory specifica per impostazione predefinita, ma è comunque possibile utilizzarlo come uno.

Basta creare una directory in / dev / shm e quindi ricollegarla al punto desiderato. Puoi assegnare alla directory creata tutte le autorizzazioni che scegli, in modo che altri utenti non possano accedervi.

Questo è un dispositivo con backup RAM, quindi cosa c'è in memoria per impostazione predefinita. Puoi creare qualsiasi directory di cui hai bisogno all'interno di / dev / shm

Naturalmente, i file inseriti qui non sopravvivranno al riavvio e se il tuo computer inizia a scambiare, / dev / shm non ti aiuterà.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.