GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Überblick über RAMFS und TMPFS unter Linux

Dies ist ein Gastbeitrag von SathiyaMoorthy.

Mit ramfs oder tmpfs können Sie einen Teil des physischen Speichers als Partition zuweisen. Sie können diese Partition mounten und mit dem Schreiben und Lesen von Dateien wie bei einer Festplattenpartition beginnen. Da Sie im RAM lesen und schreiben, ist es schneller.

Wenn ein lebenswichtiger Prozess aufgrund von Festplattenschreibvorgängen drastisch langsam wird, können Sie entweder ramfs- oder tmpfs-Dateisysteme zum Schreiben von Dateien in den RAM wählen.


Sowohl tmpfs als auch ramfs mount geben Ihnen die Möglichkeit, Dateien schnell aus dem und in den Primärspeicher zu lesen und zu schreiben. Wenn Sie dies an einer kleinen Datei testen, sehen Sie möglicherweise keinen großen Unterschied. Sie werden den Unterschied nur bemerken, wenn Sie große Datenmengen mit einem anderen Verarbeitungsaufwand wie Netzwerk in eine Datei schreiben.

1. Wie man Tmpfs einbindet

# mkdir -p /mnt/tmp

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

Die letzte Zeile im folgenden df -k zeigt das oben gemountete /mnt/tmp tmpfs Dateisystem.

# 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. Wie man Ramfs montiert

# mkdir -p /mnt/ram

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

Die letzte Zeile im folgenden mount-Befehl zeigt das oben gemountete /mnt/ram ramfs-Dateisystem.

# 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)

Sie können ramfs und tmpfs während des Bootens mounten, indem Sie einen Eintrag in /etc/fstab.

hinzufügen

3. Ramfs gegen Tmpfs

Hauptsächlich machen sowohl ramfs als auch tmpfs das Gleiche mit einigen kleinen Unterschieden.

  • Ramfs wird dynamisch wachsen . Sie müssen also den Prozess steuern, der die Daten schreibt, um sicherzustellen, dass ramfs die verfügbare RAM-Größe im System nicht überschreitet. Nehmen wir an, Sie haben 2 GB RAM auf Ihrem System und haben ein 1-GB-RAMFs erstellt und als /tmp/ram gemountet. Wenn die Gesamtgröße von /tmp/ram 1 GB überschreitet, können Sie immer noch Daten darauf schreiben. Das System hindert Sie nicht daran, Daten mit mehr als 1 GB zu schreiben. Wenn die RAM-Gesamtgröße von 2 GB jedoch überschritten wird, hängt sich das System möglicherweise auf, da im RAM kein Platz zum Speichern der Daten vorhanden ist.
  • Tmpfs wächst nicht dynamisch . Es würde Ihnen nicht erlauben, mehr als die Größe zu schreiben, die Sie beim Mounten der tmpfs angegeben haben. Sie müssen sich also keine Gedanken über die Steuerung des Prozesses machen, der die Daten schreibt, um sicherzustellen, dass tmpfs das angegebene Limit nicht überschreitet. Es kann zu Fehlern wie „Kein freier Speicherplatz auf dem Gerät“ kommen.
  • Tmpfs verwendet Swap .
  • Ramfs verwendet keinen Swap.

4. Nachteile von Ramfs und Tmpfs

Da sowohl ramfs als auch tmpfs in den System-RAM schreiben, würden sie gelöscht, sobald das System neu gestartet oder abgestürzt wird. Sie sollten also einen Prozess schreiben, um die Daten von ramfs/tmpfs in regelmäßigen Abständen auf die Festplatte zu laden. Sie können auch einen Prozess schreiben, um die Daten von ramfs/tmpfs auf die Festplatte zu schreiben, während das System heruntergefahren wird. Aber das wird Ihnen bei einem Systemabsturz nicht helfen.

Tabelle:Vergleich von ramfs und tmpfs
Experiment Tmpfs Ramfs
Füllen Sie den maximalen Platz aus und schreiben Sie weiter Wird Fehler anzeigen Werde weiter schreiben
Feste Größe Ja Nein
Verwendet Swap Ja Nein
Flüchtiger Speicher Ja Ja


Wenn Sie möchten, dass Ihr Prozess schneller schreibt, ist die Entscheidung für tmpfs eine bessere Wahl mit Vorsichtsmaßnahmen für den Systemabsturz.

Dieser Artikel wurde von SathiyaMoorthy geschrieben. Er arbeitet bei bksystems, schreibt gerne Artikel und trägt in seiner Freizeit zu Open Source bei. The Geek Stuff freut sich über Ihre Tipps und Gastartikel.


Linux
  1. Linux-Befehle:jobs, bg und fg

  2. Linux – Sysfs und Devtmpfs?

  3. cPanel- und WHM-Übersicht

  4. Überblick über FTP und SFTP

  5. Linux Dateien und Verzeichnisse löschen

Mein funktionsreiches und minimales Linux-Terminal

Df-Befehl unter Linux

Ein Überblick über Intels Clear Linux, seine Funktionen und das Installationsverfahren

Linux-Kernel und seine Funktionen

Installieren und konfigurieren Sie Ansible unter Linux

Installieren und Konfigurieren von Jenkins unter Linux