Linux – Swap in Datei

Den Swap benötigt Linux um bei Engpässen im RAM Speicherbereiche auf die Festplatte auszulagern. Dieses Feature erlaubt uns trotz vollen RAMs weitern Speicher zu nutzen. Die Auslagerung in den Swap bringt aber enorme Geschwindigkeitsverluste mit sich da der Zugriff im RAM um ein Vielfaches schneller geht als auf der Festplatte.

Für den Swap wird in der Regel bei der Installation eine extra Partition angelegt. Steht eine solche Partion nicht zur Verfügung oder wurde diese zu knapp bemessen können wir auch eine Datei für die Auslagerung benutzen.

Tip – vServer Speicher erhöhen

Ich nutze diese Funktion hauptsächlich um meine Test-vServer etwas aufzubohren. Ich ich miete mir dazu einen kleinen vServer mit 512MB für wenig Geld. Diese vServer werden in der Regel ohne eigene Swap-Partition bereitgestellt und bekommen dadurch etwas mehr Speicher. Der Swapspeicher reicht dort völlig.

Es geht mir dabei primär darum nicht gleich einen OOM(out of memory)-Kill auszulösen wenn ich mal etwas mehr Speicher brauche. Den Performanceverlust nehme ich beim Testen gern in Kauf.

Weiterhin ist zu beachten, dass dies nur bei Servern mit KVM oder ähnlicher Virtualisierung funktionert. Bei containerbasierter Virtualisierung wie openVZ oder LXC funktioniert dieser Trick leider nicht.

Swapdatei erstellen

Zuerst erstellen wir uns ein Verzeichnis in das wir unseren Swap ablegen wollen.

mkdir /var/cache/swap

Dann erzeugen wir eine Datei in der Größe unser Auslagerungsdatei. Hinter dem Parameter count= geben wir die gewünschte Größe in Megabyte an. In diesem fall sind es 4GB

dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=4096

Anschliessend passen wir noch die Rechte entprechend an.

chmod 0600 /var/cache/swap/swap0

Um den Swap zu nutzen müssen wir diese voher noch formatieren. Dies geschieht mit folgendne Befehl.

mkswap /var/cache/swap/swap0

Nun hängen wie unser Swapdatei als Swap in das System ein. Dazu ist kein Neustart erforderlich.

swapon /var/cache/swap/swap0

Wenn alles korrekt gemacht wurde verfügt unser System nun über 4GB Swap-Speicher.

Swap in Datei
Swap in Datei

Um die Swapdatei gleich beim Systemstart zu aktivieren müssen wir diese noch in unser fstab eintragen.

vi /etc/fstab

Dort fügen wir diesen Eintrag hinzu.

/var/cache/swap/swap0 none swap sw 0 0

Auf der Wikipedia-Seite zu Swapping wird das Thema nochmal ganz anschaulich anhand eines kleinen Videos erklärt. Weiterhin bietet die Manpage von swapon noch ein paar Infos.

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.