TMPFS Virtual Speicherdateisystem unter Linux

TMPFS Virtual Speicherdateisystem unter Linux
Tmpfs, früher bekannt als Shmfs, ist ein temporäres Dateisystem und bezieht sich auf ein Dateisystem, das sich im Speicher und/oder in der Swap -Partition (en) befindet. TMPFS speichert die Dateidaten nicht zum normalen, nichtflüchtigen Speicherplatz. Stattdessen verwaltet der UNIX -Kernel den virtuellen Speicher, in dem TMPFS -Dateien leben.Der Hauptgrund dafür, dass TMPFS erstellt wurde.

Worüber werden wir sprechen??

In diesem Artikel sehen wir einen Überblick über das TMPFS -Dateisystem unter Linux.

Vorteile der Verwendung des TMPFS -Systems

Das ehemalige Zufallszugriffsspeicherdateisystem (RAMFS) in Linux wurde durch das neue temporäre Dateisystem (TMPFS) ersetzt. Dies liegt daran, dass die alten RAMFs die Situationen nicht ordnungsgemäß behandelten.

Montageverzeichnisse als TMPFS haben mehrere Vorteile, wie z. B.:

1. Um den Zugriff auf die Dateien darin zu beschleunigen.

2. Um sicherzustellen, dass jedes Mal, wenn das System neu startet, der Inhalt der Verzeichnisse automatisch gelöscht wird.

3. TMPFS erhöht die Manipulationsrate der Datei gleichzeitig die Semantik einer UNIX -Datei.

4. TMPFS benötigt keinen festen oder dedizierten Speicherplatz für Dateien und hat keine nachteiligen Auswirkungen auf die Leistung.

Anstatt den dedizierten physischen Speicher wie eine „RAM -Festplatte“ zu verwenden, speichert TMPFS die Dateidaten im Seiten -Cache eines Betriebssystems. Es erleichtert das Lesen und Schreiben der Dateien, lässt das Dateisystem wachsen und schrumpfen, ohne einen Speicherplatz zu verwenden, und schadet die Gesamtleistung des Systems nicht.

Montage tmpfs

Verwenden Sie den Befehl mont. Da TMPFS den Speicher immer als Dateisystemressource verwendet, ist der Ressourcenparameter zum Mount (e.G. Rohvorrichtung) wird ignoriert. Da TMPFS den Speicher immer als Dateisystemressource verwendet, wird der Ressourcenparameter für die Montage (z. B. RAW -Gerät) nicht berücksichtigt.

Derzeit hat TMPFS keine Mount -Optionen. Viele reguläre Mount -Optionen sind für den Kontext von TMPFs nicht relevant. Zum Beispiel macht das Erstellen eines TMPFS -Mounts „nur“ keinen Sinn, da sie keine Daten enthalten, wenn sie zum ersten Mal montiert werden. TMPFS unterstützt alle Arten von Dateien, die auch die Symlinks, den Block und die Charakter -Spezialgerätedateien enthalten - UNIX -Datei -Semantik. Obwohl es viele TMPFS -basierte Dateisysteme geben kann, die auf einem System montiert sind, müssen alle den gleichen Ressourcenpool teilen.

Da der Inhalt eines speicherbasierten Dateisystems nach einem Neustart oder einem Abfindungsbetrieb des Systems abgelöscht wird und da diese Dateien sehr kurze Leben haben, /tmp iS der am besten geeignete Ort für sie (so bekannt als TMPFs). Dies zeigt das an /usr/tmp ist kein geeigneter Ort für die Montage eines TMPFS -Dateisystems, da der Inhalt zwischen Neustarts erhalten bleibt.

Größe von TMPFs

Die Menge an freiem Speicherplatz, die von TMPFS verwendet werden kann. Die Größe eines TMPFS -Dateisystems wird erweitert, um die dazu hinzugefügten Dateien anzupassen, aber die Benutzer, die regelmäßig TMPFS verwenden. TMPFS teilt seine Ressourcen mit den Daten- und Stapelsegmenten von Programmen, die ausgeführt werden.

Wenn TMPFS -Dateisysteme in der Nähe ihrer maximal zulässigen Kapazität liegen, ist es möglich, dass die Ausführung sehr großer Programme beeinflusst wird. TMPFs können den gesamten Swap -Raum des Systems mit Ausnahme von 4 MB zuweisen. Dies reicht aus, um sicherzustellen, dass die meisten Programme ausgeführt werden können. Trotzdem ist es möglich, dass bestimmte Programme nicht ausführen können, wenn die TMPFS -Dateisysteme nahe an der vollen Kapazität sind. Benutzer, die vorhaben, die großen Programme auszuführen und TMPFs ausgiebig zu verwenden, sollten nach Möglichkeiten suchen, um den verfügbaren Swap -Speicherplatz im System zu erhöhen.

Verwendung von TMPFs

Die Verwendungen von TMPFs umfassen:

1. Es gibt immer eine interne Halterung im Kernel, die nicht gesehen werden kann. SYSV Shared Memory und Shared Anonymous Mappings verwenden beide die TMPFs. TMPFS Mount ist unabhängig von config_tmpfs. Der von TMPFS zu sichtbare Teilnahme an TMPFS wird nicht erstellt, wenn config_tmpfs nicht festgelegt ist. Es existieren jedoch immer interne Mechanismen.

2. POSIX Shared Memory (shm_open, shm_unlink) erfordert, dass TMPFs für GLIBC -Versionen bei /Dev /SHM montiert werden.2 und darüber. Dies kann durch Einbeziehung der folgenden Zeile in die Datei /etc /fstab gelöst werden:

TMPFS /Dev /SHM TMPFS Standards 0 0

Erstellen Sie bei Bedarf das Verzeichnis, in dem Sie die TMPFs montieren möchten.

Der gemeinsame Speicher, der von SYSV verwendet wird. Dies geschieht mit der internen Halterung. Verwenden des sysv gemeinsam genutzten Speichers in der 2.3 Kernelversionen, SHM FS (der Vorgänger von TMPFs) musste montiert werden.

3. Es ist wirklich nützlich für einige Benutzer, es an Orten wie zu montieren /tmp Und /var/tmp und haben eine beträchtliche Tauschscheibe. Zusätzlich sind die Schleifenhalterungen von TMPFS -Dateien jetzt funktional. Somit sollte die Mehrheit der Verteilungen von Mkinitrd mit einem TMPFS betrieben werden.

4. Und es gibt zu viele, um sie aufzulisten.

Mount -Optionen für TMPFs

Erkunden wir einige der Mount -Optionen mit TMPFS:

Größe: Dies gibt die maximale Anzahl von Bytes an, die für eine TMPFS -Instanz verwendet werden können. Standardmäßig kann nur die Hälfte des physischen RAM ohne Austauschplatz verwendet werden.

Wenn TMPFS -Instanzen größer sind als sie sein müssen, steckt die Maschine in einem Deadlock fest, da der OOM -Handler diesen Speicher nicht freisetzen kann.

NR -Blöcke: Es ist dasselbe wie die Größenoption. Es befindet sich jedoch in Blöcken von Page_cache_size.

NR -Inodes: Es ist die Obergrenze von Inodes für diese Instanz. Der Standardwert beträgt die Hälfte der Anzahl der physikalischen RAM -Seiten oder die Anzahl der LowMem -RAM -Seiten (auf einem System mit HIGHMEM), je nachdem, welcher Wert weniger ist.

Abschluss

Normalerweise werden TMPFS -Dateien über die System -Neustarts gelöscht. Wenn Sie sie jedoch bewahren möchten, können Sie die Systemd-TMPFiles verwenden. Wir empfehlen Ihnen, die Mannseiten zu lesen, wenn Sie mehr über TMPFs erfahren möchten.