Swap-Speicher unter Linux
Swap ist Speicherplatz auf der Festplatte, den der Linux-Kernel als Überlauf für den Arbeitsspeicher nutzt: Selten verwendete Speicherseiten werden dorthin verschoben, damit der RAM für aktive Aufgaben frei bleibt. Es kann sich um eine dedizierte Partition oder eine Swap-Datei handeln, die mit den Befehlen free -h und swapon --show angezeigt wird.
1Warum Swap weiterhin nützlich ist
Selbst bei ausreichend RAM ermöglicht Swap dem Kernel, inaktive Seiten aus dem Arbeitsspeicher auszulagern, und bietet einen Puffer, bevor der Out-of-Memory-Killer Prozesse beendet. Ständiges, intensives Swapping deutet jedoch darauf hin, dass der Rechner mehr RAM oder weniger Arbeitslast benötigt.
2Swappiness
Die Kernel-Einstellung vm.swappiness (0-200, Standard 60) beeinflusst, wie bereitwillig der Kernel auslagert, im Vergleich zum Verwerfen des Dateicaches. Niedrigere Werte halten den Anwendungsspeicher länger im RAM. Sie wird mit sysctl vm.swappiness ausgelesen und dauerhaft in einer Datei unter /etc/sysctl.d/ festgelegt.
3Swap-Dateien
Eine Swap-Datei wird erstellt, mit mkswap formatiert, mit swapon aktiviert und zur /etc/fstab hinzugefügt, um Neustarts zu überstehen. Ihre Berechtigungen müssen auf 600 gesetzt sein.
So fügen Sie eine 2 GB Swap-Datei hinzu
- Datei erstellen:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 - Zugriff einschränken:
sudo chmod 600 /swapfile - Formatieren:
sudo mkswap /swapfile - Aktivieren:
sudo swapon /swapfile - Dauerhaft machen: Fügen Sie die Zeile '/swapfile none swap sw 0 0' zur
/etc/fstabhinzu - Überprüfen:
swapon --showundfree -h
Vorsicht
- Auf Btrfs benötigt eine Swap-Datei eine spezielle Vorbereitung (kein Copy-on-Write); folgen Sie der Anleitung Ihrer Distribution.
- Ein Fehler in der
/etc/fstabkann das System am Booten hindern: Überprüfen Sie die Zeile vor einem Neustart.
Verwandte Artikel
- df (disk free)Wie man die Ausgabe von df liest, warum Use% bei normalen Benutzern 100% erreichen kann, bevor Avail null ist, und wie man Inodes mit df -i überprüft.
- systemd-Units und systemctlWas eine systemd-Unit ist, die gängigen Unit-Typen und wie man Dienste mit systemctl startet, stoppt, aktiviert und überprüft.
- Festplattenbelegung mit du und ncduSo finden Sie mit du und dem interaktiven ncdu heraus, was eine Linux-Festplatte füllt, unter Verwendung von Optionen, die auf einem Dateisystem bleiben.
Quellen
- swapon(8) man7.org
- mkswap(8) man7.org
- free(1) man7.org
- Dokumentation für /proc/sys/vm (kernel.org) kernel.org
Zuletzt geprüft: