Ora, da quello che ho letto il
tmpfs
non richiede archiviazione fisica, ma utilizza la memoria virtuale della macchina. È corretto?
Corretta. tmpfs
appare come un file system montato, ma è archiviato nella memoria volatile anziché in un dispositivo di archiviazione persistente. Quindi questo potrebbe rispondere alle tue altre domande.
In realtà non puoi assegnare l'archiviazione fisica a tmpfs
poiché si basa solo sulla memoria virtuale. Tutto memorizzato in tmpfs
è temporaneo nel senso che non verrà creato alcun file sul disco rigido. Lo spazio di swap viene utilizzato come backing store in caso di situazioni di memoria insufficiente. Al riavvio, tutto in tmpfs
andrà perso.
Molte distribuzioni Unix abilitano e usano tmpfs
di default per il /tmp
ramo del file system o per la memoria condivisa.
A seconda della tua distribuzione puoi usare tmpfs
per /tmp
. Per impostazione predefinita, un tmpfs
partizione ha la sua dimensione massima impostata su metà della RAM disponibile, tuttavia è possibile ignorare questo valore e impostare esplicitamente una dimensione massima. In questo esempio, per sovrascrivere il /tmp
predefinito mount, usa il size
opzione di montaggio:
/etc/fstab
tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
fonte:https://wiki.archlinux.org/index.php/tmpfs
Ora, da quello che ho letto, tmpfs non occupa l'archiviazione fisica, ma utilizza la memoria virtuale della macchina. È corretto? Influisce in qualche modo sull'archiviazione fisica? Esiste una realtà in cui i tmpfs verranno scritti nella memoria fisica?
Bene, riempie l'area di scambio, a cui è limitato. Vedi tmpfs non va in overflow per scambiare
Successivamente, tutte le directory montate (/dev/sda1, /dev/sda1, ecc...) condividono il tmpfs? O ognuno di loro ne riceve uno diverso?
Questo dipende da dove si trova il tmpfs
è montato. Ma tutti tmpfs
dovrebbero condividere la stessa memoria, se è questo che intendevi.
Penso che mi manchi qualcosa.
Forse https://superuser.com/questions/45342/when-should-i-use-dev-shm-and-when-should-i-use-tmp:
Le recenti build del kernel Linux 2.6 hanno iniziato a offrire /dev/shm come memoria condivisa sotto forma di ramdisk, più specificamente come una directory scrivibile da tutti che viene archiviata in memoria con un limite definito in
/etc/default/tmpfs
. Il supporto per /dev/shm è completamente opzionale all'interno del file di configurazione del kernel. È incluso per impostazione predefinita in entrambe le distribuzioni Fedora e Ubuntu, dove è più ampiamente utilizzato dall'applicazione Pulseaudio. [enfasi rimossa e aggiunta]