Wie man SWAP für virtuelle Server verbindet: Vor- und Nachteile von SWAP
14:25, 04.11.2022
SWAP ist ein wichtiger Mechanismus, der eine vernünftige Verwaltung des virtuellen Serverspeichers ermöglicht, indem einige Daten vom RAM auf die SSD verschoben werden. Diese Technologie ist von Bedeutung, wenn ein System eine Menge Arbeitsspeicher benötigt, über die der Server physisch nicht verfügt. Durch die Aktivierung des Swap-Modus können Daten, die am seltensten verwendet werden, in einer speziellen Partition auf dem Laufwerk abgelegt werden.
Erfahrene Linux-Benutzer wissen, dass eine große Anzahl von Seiten, die von Programmen während der Startphase verwendet werden, nur während der Initialisierung benötigt werden und während der gesamten Arbeitssitzung nicht mehr gebraucht werden. Mit SWAP können diese ungenutzten Seiten aus dem RAM ausgelagert und in den Speicherbereich verschoben werden. Daher ist das Swapping ein wichtiges Instrument zur Optimierung von Serversystemen.
Vorteile von SWAP
Der Hauptvorteil dieser Technologie besteht darin, dass sie es ermöglicht:
- Die Kosten für die Serverwartung zu senken. Das heißt, Sie können einen billigeren Virtual Private Server-Plan mit unzureichendem RAM nehmen, SWAP konfigurieren und so den Server stabilisieren.
- Die Serverleistung durch Freigabe von Speicherseiten optimieren.
Auf Servern mit wenig oder gar keinem Wettbewerb um Arbeitsspeicher ist der Nutzen dieser Technologie gering - Sie können höchstens anonymen Speicher auslagern, der von Anwendungen und Diensten selten genutzt wird. Dadurch wird die Trefferquote im Cache erhöht und insgesamt wertvoller Arbeitsspeicher freigesetzt.
Die Technologie wird auch auf VPS nützlich sein, wo es vorübergehende Spitzen im RAM-Verbrauch gibt – die Widerstandsfähigkeit gegen diese Art von Ressourcenanomalien wird höher sein.
Nachteile von SWAP
Der Hauptnachteil ist, dass RAM immer noch schneller ist. Selbst wenn Sie ein hochmodernes NVMe-Laufwerk auf Ihrem Server haben, wird der Arbeitsspeicher die Informationen schneller verarbeiten. Sie müssen sich darüber im Klaren sein, welche Daten sinnvollerweise in diesem Speicher abgelegt werden sollten und welche besser im RAM verbleiben.
Außerdem kann SWAP verhindern, dass Ihr Betriebssystem den Out-Of-Memory-Killer aufruft. Die Aktivierung dieses Prozesses ist notwendig, wenn Sie eine Anwendung beenden müssen, die den Kernel zum Absturz bringen könnte. Diese Situationen sind zwar selten, vor allem bei modernen Linux-Versionen, aber sie kommen vor.
Erstellen und Verbinden einer Auslagerungsdatei SWAP
Nehmen wir an, Sie haben einen VPS mit 2 GB RAM ohne eine Swap-Partition. In diesem Fall müssen wir zunächst eine Auslagerungsdatei erstellen:
sudo fallocate -l 2G /mnt/swapfile
Wir haben jetzt eine 2 GB große Auslagerungsdatei. Wenn es Probleme mit fallocate gibt, können Sie auf den altbewährten Befehl dd zurückgreifen:
sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048
Der nächste Schritt ist die Zuweisung von Lese- und Schreibrechten für diese Datei:
sudo chmod 600 /mnt/swapfile
Da die Datei nun erstellt wurde und die Berechtigungen als Administrator festgelegt wurden, können wir dem System den Pfad zur Auslagerungsdatei mitteilen:
sudo mkswap /mnt/swapfile
Linux wird nun diese Datei verwenden, um selten genutzte Seiten in sie hochzuladen. Verbinden Sie die Datei:
sudo swapon /mnt/swapfile
Jetzt müssen Sie nur noch /etc/fstab im Bearbeitungsmodus öffnen und dort eine Zeile einfügen:
/mnt/swapfile none swap sw 0 0
Geschieht dies nicht, ist die Auslagerungsdatei nur bis zum nächsten Neustart des Servers aktiv und muss dann erneut manuell aktiviert werden.
Wie überprüfe ich, ob ein SWAP im System vorhanden ist?
Hierfür gibt es einen einfachen Befehl:
swapon --show
Wenn sie aktiviert ist, werden Informationen über die Auslagerungsdatei, ihre Größe und die Anzahl der betroffenen Megabytes angezeigt.
Wie groß ein SWAP sein soll
Es geht darum, dass die optimale Größe der Auslagerungsdatei individuell bestimmt wird. Das hängt von solchen Faktoren ab:
- die Menge des RAM auf dem VPS;
- die Art der genutzten Anwendungen und ihre "Gefräßigkeit";
- ob sich der Server im Ruhezustand befindet.
Wenn Sie eine virtuelle Maschine mit weniger als 2 GB RAM haben, ist eine 1,5- bis 2-fache Größe der SWAP-Datei optimal. Auf Rechnern mit 3-4 GB Arbeitsspeicher reicht in den meisten Fällen eine Auslagerungsdatei aus, die 10-15 % größer ist als die Größe des Arbeitsspeichers. Wenn Sie einen VPS mit 6 GB RAM oder mehr haben, ist eine Auslagerungsdatei von 1-2 GB ausreichend.
Denken Sie daran, dass es besser ist, die Auslagerungsdatei überhaupt nicht zu aktivieren, wenn Sie über genügend RAM verfügen – wenn Ihr System nicht 100 % der verfügbaren Ressourcen nutzt, brauchen Sie die Auslagerungsdatei einfach nicht. Sie schaden damit nur, denn das Verschieben von Datenseiten in die SWAP-Datei verlangsamt die Geschwindigkeit, mit der auf diese Seiten zugegriffen wird.