GNU/Linux >> Linux Esercitazione >  >> Linux

Panoramica di RAMFS e TMPFS su Linux

Questo è un guest post scritto da SathiyaMoorthy.

Utilizzando ramfs o tmpfs è possibile allocare parte della memoria fisica da utilizzare come partizione. Puoi montare questa partizione e iniziare a scrivere e leggere file come una partizione del disco rigido. Dal momento che leggerai e scriverai sulla RAM, sarà più veloce.

Quando un processo vitale diventa drasticamente lento a causa delle scritture del disco, puoi scegliere tra i file system ramfs o tmpfs per scrivere i file nella RAM.


Sia tmpfs che ramfs mount ti daranno il potere di leggere e scrivere velocemente file da e verso la memoria primaria. Quando lo provi su un piccolo file, potresti non vedere un'enorme differenza. Noterai la differenza solo quando scrivi una grande quantità di dati su un file con qualche altro sovraccarico di elaborazione come la rete.

1. Come montare Tmpfs

# mkdir -p /mnt/tmp

# mount -t tmpfs -o size=20m tmpfs /mnt/tmp

L'ultima riga nel seguente df -k mostra il file system /mnt/tmp tmpfs montato sopra.

# df -k
Filesystem      1K-blocks  Used     Available Use%  Mounted on
/dev/sda2       32705400   5002488  26041576  17%   /
/dev/sda1       194442     18567    165836    11%   /boot
tmpfs           517320     0        517320    0%    /dev/shm
tmpfs           20480      0        20480     0%    /mnt/tmp

2. Come montare Ramfs

# mkdir -p /mnt/ram

# mount -t ramfs -o size=20m ramfs /mnt/ram

L'ultima riga nel seguente comando mount mostra il file system /mnt/ram ramfs montato sopra.

# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
tmpfs on /mnt/tmp type tmpfs (rw,size=20m)
ramfs on /mnt/ram type ramfs (rw,size=20m)

Puoi montare ramfs e tmpfs durante l'avvio aggiungendo una voce a /etc/fstab.

3. Ramfs vs Tmpfs

Principalmente sia ramfs che tmpfs fanno la stessa cosa con poche piccole differenze.

  • Ramfs crescerà in modo dinamico . Quindi, è necessario controllare il processo che scrive i dati per assicurarsi che ramfs non superi la dimensione della RAM disponibile nel sistema. Diciamo che hai 2 GB di RAM sul tuo sistema e hai creato un ramfs da 1 GB e montato come /tmp/ram. Quando la dimensione totale di /tmp/ram supera 1 GB, puoi ancora scriverci dati. Il sistema non ti impedirà di scrivere dati superiori a 1 GB. Tuttavia, quando supera la dimensione totale della RAM di 2 GB, il sistema potrebbe bloccarsi, poiché non c'è spazio nella RAM per conservare i dati.
  • Tmpfs non crescerà dinamicamente . Non ti permetterebbe di scrivere più della dimensione che hai specificato durante il montaggio del tmpfs. Quindi, non devi preoccuparti di controllare il processo che scrive i dati per assicurarti che tmpfs non superi il limite specificato. Potrebbe fornire errori simili a "Nessuno spazio disponibile sul dispositivo".
  • Tmpfs utilizza lo scambio .
  • Ramfs non usa lo scambio.

4. Svantaggi di Ramfs e Tmpfs

Poiché sia ​​ramfs che tmpfs stanno scrivendo nella RAM di sistema, verrebbe cancellato una volta riavviato il sistema o arrestato in modo anomalo. Quindi, dovresti scrivere un processo per raccogliere i dati da ramfs/tmpfs su disco a intervalli periodici. Puoi anche scrivere un processo per annotare i dati da ramfs/tmpfs su disco mentre il sistema si sta spegnendo. Ma questo non ti aiuterà nel momento del crash del sistema.

Tabella:confronto tra ramfs e tmpfs
Sperimentazione Tmpfs Ramf
Riempi lo spazio massimo e continua a scrivere Viene visualizzato l'errore Continuerò a scrivere
Misura fissa No
Utilizza lo scambio No
Stoccaggio volatile


Se vuoi che il tuo processo scriva più velocemente, optare per tmpfs è una scelta migliore con le precauzioni sul crash del sistema.

Questo articolo è stato scritto da SathiyaMoorthy. Lavora presso bksystems, è interessato a scrivere articoli e contribuisce all'open source nel suo tempo libero. The Geek Stuff accoglie con favore i tuoi suggerimenti e gli articoli degli ospiti.


Linux
  1. Comandi Linux - Panoramica ed esempi

  2. Linux:directory standard e/o comuni su OS Unix/linux?

  3. cPanel e panoramica di WHM

  4. Panoramica del processo UNIX (all'interno di un processo Linux e tipi di processo)

  5. utilizzo e ridimensionamento di tmpfs

Il mio terminale Linux ricco di funzionalità e minimale

Comando Df in Linux

Una panoramica di Clear Linux di Intel, delle sue funzionalità e della procedura di installazione

Kernel Linux e le sue funzioni

Installa e configura Ansible in Linux

Installazione e configurazione di Jenkins in Linux