Ramdisk nutzen

Was ist eine RAM-Disk

Eine RAM-Disk ist ein Speicherbereich im RAM, den man wie ein Speichermedium nutzen kann. Ideal ist eine RAM-Disk für kleine temporäre Dateien.

Der Zugriff auf eine Ramdisk ist bis zu Tausende mal schneller als auf eine SD-Karte.

Allerdings sind alle Daten auf einer Ramdisk beim Herunterfahren verloren, da sie sich im RAM befinden.

Wichtig: Je mehr Daten man in die Ramdisk speichert, um so weniger RAM hat das System zur Verfügung. Deshalb ist dieses Thema nur interessant, wenn die entsprechenden Daten nur ein paar Megabyte an Speicherplatz benötigen.

Also immer darauf achten, dass dem System noch genügend RAM zur Verfügung steht.

Wie die aktuelle Ram-Nutzung aussieht, erfährt man mit:

free -h

Man sollte nie mehr als die Hälfte des verfügbaren (available) RAM-Speichers in der Ramdisk nutzen.

Ramdisk anlegen

Zunächst erstellt man ein Verzeichnis, wo die Ramdisk später eingehängt wird:

mkdir /home/ramdisk/

Hinweis: Ich erstelle das Verzeichnis hier, damit es alle Benutzer nutzen können. Auch wenn Ihr das Verzeichnis innerhalb Eures Heimatordners erstellt sind folgende Schritte notwendig.

Nun fügt man mit Root-Rechten folgenden Eintrag in die Datei /etc/fstab hinzu:


ramfs 	/home/ramdisk/	ramfs	owner,user,rw	0	0

Mittels

mount -a

wird die Ramdisk eingehängt. Mittels

ls -lh /home/

erkennt man, dass man dieses Verzeichnis nur als root nutzen kann. Das soll aber nicht Sinn und Zweck der Sache sein.

Die Befehle chown und chmod zu /home/ramdisk/ gelten nur für diese Sitzung. Nach einem erneuten Start ist alles wieder auf root.

Deshalb brauchen wir einen Dienst, der das beim Starten des Systems übernimmt. Dazu erstellt man die Datei /etc/systemd/system/ramdisk.service mit folgendem Inhalt:


[Unit]
Description=/home/ramdisk/ für Benutzer freigeben

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/chmod 0777 /home/ramdisk/

[Install]
WantedBy=multi-user.target

Nun aktiviert man den Dienst mit:

sudo systemctl enable ramdisk.service

Nach einem Neustart gehört die Ramdisk zwar immer noch root, aber alle Benutzer können nun dort lesen und schreiben.

Hinweis: Eine so erstellte Ramdisk erhöht seine Größe dynamisch. Die Ramdisk ist immer so groß wie die Datenmenge in ihr. Dafür sorgt das Filesystem ramfs, wie es in /etc/fstab angelegt wurde.