Swap-Partition vs Swap-Datei

47

Ich habe die neuen Änderungen mit Ubuntu 17.04 gelesen und eines ist mir aufgefallen, als ich vom typischen Swap-Partitionsmodell zu einem neuen Swap-Dateimodell für Neuinstallationen überging.

Gibt es Vorteile bei der Verwendung dieser Partition im Gegensatz zu einer Swap-Partition, die möglicherweise mit der Leistung, der Platzersparnis und der heutigen Hardware wie SSD und NVMe oder etwas anderem in Zusammenhang steht?

Eine weitere verwandte Frage ist, wie ich von einer Swap-Partition in eine Swap-Datei migrieren kann. Ich vermute, dass ich dd verwende, möchte dies aber bestätigen, da ich bis jetzt nichts über das Auslagerungsdateischema wusste.

Und zuletzt, wird der Ruhezustand ein Problem mit Auslagerungsdateien sein?

Natürlich können diese Fragen mit Fällen zusammenhängen, in denen der Benutzer über viel RAM verfügt und der Swap selten verwendet wird (ich vermute mal). Nur um zu bestätigen, dass diese Informationen mir und anderen mit den gleichen Zweifeln helfen.

Luis Alvarado
quelle
Über die verwandte Frage: askubuntu.com/questions/903414/… (falls es jemals beantwortet wird)
muru
digitalocean.com/community/tutorials/… - Ich kann nicht sagen, dass es einen Unterschied gemacht hat, ich kann es wirklich nicht. Das System funktioniert nach wie vor einwandfrei (der Swap wurde sowieso selten verwendet).
Hier erfahren Sie, wie Sie eine Auslagerungsdatei hinzufügen . In 17.04 ist es eine Datei /swapfile. Ruhezustand kann ein Problem sein.
Takkat
muru @CelticWarrior Takkat danke für die Links und Informationen Jungs. Sehr hilfreich. Wenn möglich Celtic, wenn Sie bitte die spezifischen Antworten hier in AskUbuntu für alle Fälle hinzufügen könnten. Sicherzustellen, dass die Antworten auf dem neuesten Stand sind (nicht 2012, sondern tatsächlich 2016-2017, als die ganze Auslagerungsdatei begann), würde viel helfen und alles vermeiden, was in diesem Zeitraum passiert ist und sich geändert hat.
Luis Alvarado
1
Wenn Sie die Root-Partition verschlüsselt haben, wird auch die Auslagerungsdatei automatisch verschlüsselt. Keine Notwendigkeit, etwas Besonderes zu tun. Dies ist eine Verbesserung für allgemeine Benutzer, die möglicherweise vergessen, Swap zu verschlüsseln.
Maris B.

Antworten:

34

Der einzige Vorteil einer Auslagerungsdatei besteht darin, dass die Größe leicht geändert werden kann. Daher ist ein Übergang nur dann sinnvoll, wenn Sie mit der Größe Ihrer Auslagerungspartition unzufrieden sind.

Traditionell wurde von Swap-Dateien aus einer Reihe von Gründen abgeraten. Die Auslagerungsdatei war vor Linux v2.4 langsamer, und möglicherweise noch langsamer, wenn Sie die Auslagerungsdatei auf einem fragmentierten Dateisystem erstellen. Es ist möglicherweise etwas wahrscheinlicher, dass Sie mit Swap-Dateien auf Speicherfehler stoßen, z. B. auf Catch-22-Speicher, bei denen Sie erst nach dem Auslagern mehr Speicher zuweisen können. Das Dateisystem muss dies jedoch vor dem Auslagern tun. Aus ähnlichen Gründen wurde der Winterschlaf vor einigen Jahren in Swap-Dateien kontrovers diskutiert. Vor Jahren, als Dateisysteme noch ein bisschen fehlerhaft (und nicht im Journal gespeichert) waren, war es nicht ratsam, eine große Anzahl wichtiger Dateisysteme zu schreiben, wenn Sie stattdessen einfach eine Auslagerungsdatei verwenden konnten. Standardmäßig wurden Swap-Partitionen mehr getestet als Swap-Dateien. Vermutlich ist Canonical der Meinung, dass diese Probleme keine Sorge mehr wert sind.

Der Hauptgrund, jetzt nicht auf eine Auslagerungsdatei zu wechseln, ist "warum etwas reparieren, das nicht kaputt ist". Wenn Sie Ihre Hauptpartition nicht sichern und versehentlich Ihre /homeanstelle Ihrer Auslagerungsdatei löschen , wäre es mühsam, sie zurückzugewinnen.

Ein weiterer Grund, nicht zu Swap-Dateien zu wechseln, ist, wenn Sie Swap-Dateien verwenden, btrfsdie diese noch nicht unterstützen (außer bei langsamen Loopback-Dateien).


Selbst wenn Sie sich für eine Auslagerungsdatei entscheiden, müssen Sie Ihre Auslagerungspartition nicht wirklich löschen, es sei denn, Sie haben zu wenig Speicherplatz. Sie können beide gleichzeitig verwenden, wenn Sie möchten. Wenn Sie die Swap-Partition löschen möchten, starten Sie zunächst mit einer Ubuntu LiveCD und gehen Sie try without installing. gpartedLöschen Sie dann in einem Terminallauf die Auslagerungspartition und ändern Sie die Größe der verbleibenden Partitionen (eine Sicherung zuerst kann eine gute Idee sein).

Starten Sie nun Ihre reguläre Ubuntu-Installation neu und erstellen Sie die Swap-Datei. Da der Vorteil einer Auslagerungsdatei darin besteht, dass die Größe leicht geändert werden kann, können Sie SwapSpace verwenden, um die Größe Ihrer Auslagerungsdatei zu verwalten:

sudo apt install swapspace

Sie können eine Auslagerungsdatei auch manuell erstellen, indem Sie den Anweisungen unter https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04 folgen

Um es kurz zu machen, Sie können eine 1G-Auslagerungsdatei erstellen, indem Sie Folgendes in ein Terminal einfügen

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

Wenn das funktioniert, können Sie es dauerhaft machen, indem Sie Folgendes tun:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
gmatht
quelle
Hmmm Zitate benötigt .... nicht sicher über die fehlerhaften Dateisysteme Argument, wie weit zurück gehst du ...? Was Fang 22 angeht, hätte der Ooomkiller das bis zu einem gewissen Grad geklärt - eine kleine Zuweisung hätte einen kleinen Kill verursachen sollen, und ich wäre überrascht, wenn der Austausch über fs keinen kleinen Puffer für einen solchen Fall hätte ...
Taifwa
5
Vor über 10 Jahren lautete der allgemeine Rat, / usr / home und / var alle auf unterschiedlichen Partitionen zu vertauschen, damit Sie sich von den anderen erholen können, wenn eine von ihnen sich selbst beschädigt. Das war wahrscheinlich bevor Journaling üblich war. Dateisysteme haben immer noch Fehler, aber Paranoia ist wahrscheinlich besser, um Backups an Orten zu erstellen, an denen Ransomware nicht darauf zugreifen kann.
Gmatht
1
@taifwa Ich habe einen Link zu btrfs FAQ hinzugefügt, wo sie keinen schnellen Swap-Dateizugriff unterstützen (weil sie nicht sicher sind, wie sie ihn ohne Beschädigung implementieren sollen), und einen Hinweis, dass der Hauptgrund, nicht zu wechseln, darin besteht, nicht zu reparieren, was nicht ist nicht kaputt. Hilft das?
Gmatht
1
@gmatht Nun, du hast dort alles auf sehr schöne Weise abgedeckt. Wenn Sie in den nächsten Monaten / Jahren neue Informationen zu Auslagerungsdateien finden, teilen Sie uns dies mit, indem Sie diese Antwort aktualisieren. Ein dickes Lob und hervorragende Arbeit.
Luis Alvarado
3
@PabloBianchi Das geht, aber ich würde heutzutage lieber auf SSD tauschen. Das Aufsetzen eines Wechsels auf eine Drehscheibe kann ebenfalls den Verschleiß erhöhen. Moderne SSDs nutzen sich nicht viel schneller ab als Rotationsscheiben.
Gmatht