tmpfs, ramfs, /dev/shm

Antworten
Nachricht
Autor
undertuxy

tmpfs, ramfs, /dev/shm

#1 Beitrag von undertuxy » 19. Mär 2015 10:02

Hallo liebe Gemeinde,

kan mir mal jemand genau erklären, bzw einen Link zu einer möglichst deutschprachigen oder verständlichen Erläuerung über tmpfs, ramfs und /dev/shm geben?

Ich finde im Netz einige, mir wiedersprüchliche Erläuterungen.
Mounche mounten es einfach wie "mount -t tmpfs -o size=20m tmpfs /mnt/tmp",
einanderer macht dieses: "mount --bind /dev/shm/tmp /tmp"

???
Viele Grüße
undertuxy

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 19. Mär 2015 17:28

Der Hauptunterschied zwischen RAMFS und TMPFS ist, dass RAMFS Speicher im physikalisch vorhandenen RAM alloziert, während TMPFS virtuellen Speicher alloziert. Das heißt, bei RAMFS ist wirklich der gesamte Inhalt im RAM, während bei TMPFS der Kernel selbst entscheiden kann, ob er den Inhalt in den Swap auslagert. Außerdem meldet RAMFS niemals "no space left on device", stattdessen schlägt der OOM-Killer zu, wenn man zuviel Daten reinstopft.

Für alle üblichen Anwendungsfälle: TMPFS. Für Dinge, die niemals auf Platte landen sollen (z.B. ausgepackte entschlüsselte Email-Anhänge): RAMFS.

/dev/shm ist einfach nur ein Mountpoint im Dateisystem. Da ist normalerweise ein tmpfs gemountet. Wenn es unterhalb von /dev/shm einen weiteren Mountpoint /dev/shm/tmp gibt, kann man den natürlich auch irgendwohin sonst bind-mounten, das ist aber eine freie Entscheidung der Distribution. Manche wollen nur ein zentrales TMPFS, weil man ja wie gesagt die Größe initial angeben muss und wenn man mehrere hat ist die Aufteilung vielleicht nicht passend zum Nutzungsprofil. Ein Bind-Mount hat gegenüber einem Symlink den Vorteil, dass er für Anwenderprogramme transparent ist.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

undertuxy

Danke

#3 Beitrag von undertuxy » 20. Mär 2015 8:27

Danke Dir sehr ;-)

Antworten