tmpfs – Die bessere Ramdisk

Tmpfs ist ein Filesystem, das ausschließlich im Speicher lebt. Im Gegensatz zur guten, alten Ramdisk belegt es nur die Menge an RAM, welche auch wirklich mit Daten belegt ist. Eine mit 16MB initialisierte Ramdisk belegt also auch 16MB im RAM, während tmpfs erst im dem Augenblick Speicher verbraucht, wenn auch Daten hineinkopiert wird. Löscht man hingegen die Daten, wird auch der Speicher wieder freigegeben. Sollte kein RAM mehr frei sein, so greift tmpfs auf Swap zurück.

Klassisches Einsatzgebiet von tmpfs ist natürlich /tmp

none /tmp tmpfs defaults,size=128M,mode=1777,noexec,nosuid 0 0

Ohne Parameter size nutzt tmpfs immer 50% des vorhandenen Speichers, wer dieses Verhalten ändern möchte kann wie oben eine bestimmte Größe sowohl mit absoluten Werten (also 128[kmg]) vorgeben oder mit Prozentzahlen arbeiten (size=25%).

Als weitere Einsatzgebiete sind z.B. die temporären Verzeichnisse von Virenscannern (/var/lib/amavis/tmp) oder /var/tmp/portage bei Gentoo denkbar.

Links:

/usr/src/linux/Documentation/filesystems/tmpfs.txt
Advanced filesystem implementor’s guide

P.S: Danke übrigends an Bernd Wachter für das hartnäckige Draufstossen :)

Verwandte Artikel

  • No Related Post
Leave a comment

1 Comments.

  1. Nur der vollständigkeit
    Nur der vollständigkeit halber:

    - ideal für /var/run (macht solaris so)
    - lebt im virtuellen speicher nicht im ram – swap!
    - wird immer auch fuer sysv ipc shmem benötigt, wegen verschiedener quota sollte man aber 2 mounten.

    Minilösung bei mir:

    2ecki@calista:~> mount | grep tmpfs
    tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
    2ecki@calista:~> ls -l /tmp
    lrwxrwxrwx 1 root root 9 Jul 25 2003 /tmp -> /dev/shm//