Ich weiß, wie man eine Swap-Partition erstellt und verwendet, aber kann ich stattdessen auch eine Datei verwenden?
Wie kann ich eine Auslagerungsdatei auf einem Linux-System erstellen?
Es sei klargestellt, dass beim Umgang mit einer Datei anstelle einer Partition ein wenig Aufwand entsteht.
Außerdem habe ich selbst auf mehreren Computern eine Auslagerungsdatei auf mdadm
RAID, daher gibt es noch einen weiteren Overhead. Wenn Sie jedoch mit vm.swappiness
Bedacht einen akzeptableren Wert als 60 einstellen , der die Standardeinstellung ist, sollten Sie kein Problem haben.
Zum Beispiel habe ich 32 GB RAM-Server mit 32 GB Swap-Datei auf RAID6 mit vm.swappiness
= 1. Zitieren der Wikipedia:
vm.swappiness
= 1: Kernel Version 3.5 und höher sowie Red Hat Kernel Version 2.6.32-303 und höher: Minimale Menge an Swapping, ohne es vollständig zu deaktivieren.
In diesem Beispiel erstellen wir eine Auslagerungsdatei:
8 GB groß
Gelegen in /raid1/
Ändern Sie diese beiden Dinge entsprechend Ihren Anforderungen.
Öffnen Sie das Terminal und werden Sie root
( su
); Wenn Sie sudo
aktiviert haben, können Sie dies beispielsweise auch tun sudo -i
. siehe man sudo
für alle Optionen):
sudo -i
Zuweisen von Speicherplatz für die Auslagerungsdatei:
dd if=/dev/zero of=/raid1/swapfile bs=1G count=8
Wenn Ihr System dies unterstützt, können Sie status=progress
diese Befehlszeile optional hinzufügen .
Beachten Sie, dass die hier angegebene Größe G
in GiB (Vielfache von 1024) angegeben ist.
Ändern Sie die Berechtigungen der Auslagerungsdatei so, dass nur root
darauf zugegriffen werden kann:
chmod 600 /raid1/swapfile
Machen Sie diese Datei zu einer Auslagerungsdatei:
mkswap /raid1/swapfile
Aktivieren Sie die Auslagerungsdatei:
swapon /raid1/swapfile
Überprüfen Sie, ob die Auslagerungsdatei verwendet wird:
cat /proc/swaps
Öffnen Sie einen Texteditor, mit dem Sie mit dieser Datei vertraut sind, z. B. nano
wenn Sie sich nicht sicher sind:
nano /etc/fstab
Fügen Sie die folgende Zeile hinzu, um diese Auslagerungsdatei nach dem Neustart verfügbar zu machen:
/raid1/swapfile none swap sw 0 0