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.