Ihr Anliegen

Sie brauchen permanent oder verübergehend mehr Arbeitsspeicher, z.B. für einen komplexen Vorgang. Sie können oder wollen aber keine neue Swap-Partition anlegen.

Die Lösung

Linux kann auch in Dateien swappen. Swap-Dateien können im laufenden System hinzugefügt und entfernt werden.

Das Vorgehen

Zunächst legen Sie eine Datei an, in die geswappt werden soll. Deren Größe bestimmt, wieviel Swapspace Sie dazugewinnen. Die Datei wird von Linux nicht automatisch vergrößert oder verkleinert. Das Anlegen geht z.B. durch Kopieren von Nullbytes aus der Datei /dev/zero mit dem Befehl dd. bs steht für Blocksize. Das M steht für Megabyte. Folgender Befehl legt eine Datei /tmp/swap.img der Größe 512 MB an:

root@linux# dd if=/dev/zero of=/tmp/swap.img bs=1M count=512

Nun müssen Sie in dieser Datei eine Swap-Signatur anlegen. Dazu dient der Befehl mkswap:

root@linux# mkswap /tmp/swap.img
Swapbereich Version 1 wird angelegt, Größe 536866 KBytes

Der neue Swapspace wird eingebunden mit swapon und wird sofort aktiv:

root@linux# swapon /tmp/swap.img

Der Befehl free -m zeigt Speicher und Swapspace in Megabytes:

root@linux# free -m
             total       used       free     shared    buffers     cached
Mem:          1977       1255        721          0         79        957
-/+ buffers/cache:        219       1758
Swap:          511          0        511

Alle aktiven Swap-Bereiche listet swapon -s auf:

root@linux# swapon -s
Filename                         Type            Size    Used    Priority
/tmp/swap.img                    file            524280  0       -1

Der Befehl swapoff deaktiviert die Swap-Datei:

root@linux# swapoff /tmp/swap.img

Danach können Sie die Datei wieder löschen:

root@linux# rm /tmp/swap.img

Hinweis: Mit swapon aktivierte Swap-Dateien werden nach einem Reboot nicht automatisch neu aktiviert. Dazu müssen diese in /etc/fstab eingetragen werden.

Wissensbank Linux

Diese Artikel wurden vom Gründer von Checkmk vor vielen Jahren geschrieben. Sie sind immer noch gültig und haben deshalb weiterhin ihr Zuhause auf dieser Webseite. Mathias hat in der Zwischenzeit die Monitoringlösung Checkmk entwickelt

Mehr zu Checkmk