Swap-Speicher in Alpine-Linux einrichten

Swap-Speicher in Alpine-Linux einrichten

Alpine-Linux ist eine sehr leichte, auf Sicherheit ausgelegte Linux-Distribution. Standardmäßig ist in Alpine-Linux kein Swap-Speicher eingerichtet. Dieser muss je nach Bedarf, an das System, vom User eingerichtet werden. Sollte das System auf dem Alpine-Linux betreiben wird, also über wenig Arbeitsspeicher verfügen, wäre die Lösung ein Swap-Speicher um Speicherüberläufe zu verhindern.

Was ist Swap-Speicher?

Swap bedeutet "tauschen". Wenn der Arbeitsspeicher (RAM) mit Daten gefüllt wird und knapp wird, schreibt das Betriebssystem Daten vom Arbeitsspeicher (RAM) auf die Festplatte (Swapfile).

Wie groß muss der Swap-Speicher sein?

Das kommt ganz auf den Verwendungszweck an und hier gibt es auch keine klare Empfehlungen. Ungefähr kann die Größe des Swap-Speicher ab so aussehen.

  • bis 32GB RAM = 2x RAM-Größe
  • ab 32GB - 64GB RAM = 1x RAM-Größe
  • ab 64GB RAM = 1/2 RAM-Größe

Wie prüfte man, ob es bereits Swap-Speicher gibt bzw. eingerichtet ist?

Sollte Alpine-Linux als Server-Betriebssystem ohne Desktop-Oberfläche betrieben werden, kann man den Swap-Speicher durch folgenden Befehl in der Konsole abfragen:

cat /proc/swaps

Sollte kein Swap-Speicher verfügbar oder eingerichtet worden sein, müsste die Ausgabe wie folgt aussehen.

In dem Beispiel wird kein Swap-Speicher eingerichtet.

Erstellen eines Swap-Speichers

Als aller erstes muss eine Datei, in der benötigten Speichergröße erstellt werden. Die Datei wird mit Befehl dd erstellt. Der Parameter count zeigt die zu erstellende Dateigröße in Kilobyte an.

💡
Zum Erstellen der Datei werden Root-Rechte benötigt.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152

Befehl zum Erstellen einer Swap-Datei mit einer Dateigröße von 2 Gigabyte. 1 Gigabyte = 1048576 KB

Dies kann, je nach Größe der Datei, etwas Zeit in Anspruch nehmen. Sollte die Datei erstellen worden sein, müssen die Zugriffsrechte der Datei geändert werden.

sudo chmod 600 /swapfile

Die Datei wurde erstellt und die Zugriffsrechte gesetzt. Jetzt muss die Daten noch Swap fähig gemacht werden.

sudo mkswap /swapfile

Die Datei ist jetzt Swapfähig. Jetzt kann man den Swap-Speicher bereits aktivieren, aber Achtung, nach einem Neustart ist der Speicher wieder weg.

sudo swapon /swapfile

Damit der Speicher, auch nach einem Neustart aktiviert bleibt, muss in der Systemdatei /etc/fstab der Swap-Speicher hinterlegt werden. Dies kann mit den Editoren Nano oder VIM durchgeführt werden.

/swapfile swap swap defaults 0 0
💡
Die Syntax muss genau passen, sonst kann es vorkommen, dass das System nicht mehr bootet.

Nach einem Neustart des System kann man relativ einfach prüfen, wie der Status des Swap-Speicher ist.

free -m
Swap-Speicher aktiv, aber aktuell ohne Daten. Hier ein Beispiel von einem Raspberry Pi mit 2GB Arbeitsspeicher.