Kurzzeitig Swap erweitern

Hat man bei der Linux-Installation darauf verzichtet eine (ausreichend große) Auslagerungsdatei (SWAP) anzulegen, so ist man mitunter gekniffen, wenn speicherhungrige Prozesse plötzlich das System stilllegen. Um dem zu begegnen, lässt sich leicht kurzzeitig etwas mehr Swap anfordern.

Der Trick besteht darin, eine Datei statt einer neuen Partition zu nutzen. Diese lässt sich leicht erstellen und, nach deren Nutzung, einfach wieder löschen.

Speicherauslastung anzeigen

free

Mem: 20295552 5333200 1621068 9028 13341284 14653280 Swap: 16777212 0 16777212

20GB Arbeitsspeicher und 16GB Swap werden angezeigt. Will (oder muss) man nun den Swap an den RAM anpassen, so müssen 4GB dem Swap-Speicher hinzugefügt werden.

Swap erstellen

Erzeugen einer Datei in der passenden Größe: dd if=/dev/zero of=/data/swap.iso bs=1G count=4

Datei formatieren: mkswap -f /data/swap.iso

Swap einhängen: swapon /data/swap.iso

swapon: /data/swap.iso: insecure permissions 0644, 0600 suggested.

Die Datei hat nicht die "besten" Zugriffsrechte; für den kurzen, spontanen Einsatz reicht das. Will man es sicher(er), muss man vor dem Einhängen die Rechte anpassen. chmod 0600 /data/swap.iso

Speicherauslastung Überprüfen

free

Mem: 20295552 5707788 1219544 9028 13368220 14278880 Swap: 20971512 0 20971512

Augenscheinlich ist die Swap-Größe angewachsen. - Das Ziel ist erreicht.

Swap wieder entfernen

Ähnlich unkompliziert läuft es mit dem Entfernen dieses temporären Konstrukts.

Aushängen: swapoff /data/swap.iso

Löschen: rm -f /data/swap.iso

Hinweis

Dieses Verfahren eignet sich übrigens auch sehr gut, wenn ein Prozess, im Laufe der Arbeit, das Betriebssystem dazu brachte, enorm viel Swap zu reservieren. Man weiß, der Prozess ist "fertig" und das System wieder ruhig; der Swap bleibt dennoch (vorerst) belegt. Kennt man die Partition, auf der der generelle Swap liegt, kann man diesen wie folgt freigeben: blkid | grep swap

/dev/sda3: UUID="18f522a2-71fb-252c-a7a6-24e75b8321b8" TYPE="swap"

swapoff /dev/sda3

Mem: 20295552 5725376 5558672 9036 9011504 14261268 Swap: 0 0 0

swapon /dev/sda3

Mem: 20295552 5734424 5549592 9036 9011536 14252236 Swap: 16777212 0 16777212