SWAP erstellen bzw. vergrößern/verkleinern

Wie der Name Swap bereits vermuten lässt, steht bei einer Swap-Partition bzw. einem Swap-File etwas im Austausch. Auszulagernde Daten werden für gewöhnlich im Arbeitsspeicher geparkt. Ist der Arbeitsspeicher jedoch voll, können weitere Daten in die Swap-Partition geschoben werden. Zwar ist die Auslagerung auf eine Swap-Partition weniger performant, aus Anwendungssicht besteht jedoch keinerlei Unterschied.
Während einer Linux-Installation wird standardmäßig eine solche Partition angelegt. Ist dies nicht der Fall, oder soll die Größe einer bereits bestehenden nachträglich vergrößert/verkleinert werden, sind nur wenige Befehle notwendig, die im folgenden Beitrag geschildert werden.

Ob eine Swap-Partition oder ein Swap-File existiert, können wir mit dem folgenden Befehl herausfinden:

free -h

Neben dem installierten RAM-Speicher wird außerdem der vorhandene Swap gelistet. Sollte kein Swap existieren, erscheint in der Ausgabe lediglich eine Größe von Swap: 0G 0G 0G.
Folgendermaßen lässt sich nun der Ort der Swap-Datei in Erfahrung bringen:

sudo swapon -show

In diesem Fall liegt das Swap-File unter /swapfile. Dies stellt auch den Standard-Namen sowie den Standard-Ablageort dar.
Da wir nun die benötigten Informationen zum existierenden (oder nicht existierenden) Swap herausgefunden haben, machen wir uns an die Erstellung bzw. der Erweiterung ebendiesen.
Zunächst wird der Swap abgeschaltet:

sudo swapoff -a

Dies kann, je nach Swap-Größe, einige Minuten dauern. Anschließend wird das Swap-File angepasst. Liegt dieses unter /swapfile (wie in unserem Fall), sähe der Befehl folgendermaßen aus:

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

Dieses Kommando erstellt die leere Datei /swapfile mit der Größe von acht Gigabyte. Die Größe kann je nach belieben angepasst werden. Ändert hierzu einfach die Zahl hinter dem Parameter bs=. Sollte der Befehl mit folgender Fehlermeldung abbrechen …

memory exhausted by input buffer of size

… verringert ihr den Blocksize auf z.B. 1 Megabyte und erhöht dafür den count auf die entsprechende Größe, sodass die gewünschte Swap-Größe erreicht wird:

sudo dd if=/dev/zero of=/swapfile bs=1M count=8000

Nun wird noch die Zugriffsberechtigung der Swap-Datei angepasst …

sudo chmod 600 /swapfile

… die eben erzeugte Datei zum Swap deklariert …

sudo mkswap /swapfile

… und der Swap wieder eingeschaltet:

sudo swapon /swapfile

Falls der Swap neu erstellt wurde oder die Datei nun woanders als zuvor liegt, muss noch der Mount unter /etc/fstab angepasst werden. Dies könnte beispielsweise folgendermaßen aussehen:

### Öffnet die /etc/fstab
sudo nano /etc/fstab

### und fügt beispielsweise die untenstehende Zeile ein
/swapfile none swap sw 0 0

Damit wäre der Swap auch schon erstellt bzw. von der Größe her angepasst.

2 Kommentare zu „SWAP erstellen bzw. vergrößern/verkleinern“

  1. Hallo derlinuxwikinger,
    habe eben nach deiner Anleitung meine Swapdatei von 2 GiB auf 6 GiB vergrößert. Das hat auf Anhieb und sehr einfach funktioniert. Vielen Dank 🙂

Kommentar verfassen

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

Nach oben scrollen