Mir scheint, eine Auslagerungsdatei ist flexibler.
Mir scheint, eine Auslagerungsdatei ist flexibler.
Antworten:
Eine Auslagerungsdatei ist flexibler, aber auch fehlbarer als eine Auslagerungspartition. Ein Dateisystemfehler könnte die Auslagerungsdatei beschädigen. Eine Auslagerungsdatei kann für den Administrator eine Belastung sein, da die Datei nicht verschoben oder gelöscht werden kann. Eine Auslagerungsdatei kann nicht für den Ruhezustand verwendet werden. Eine Auslagerungsdatei war in der Vergangenheit etwas langsamer, obwohl der Unterschied heutzutage vernachlässigbar ist.
Der Vorteil einer Auslagerungsdatei besteht darin, dass die Größe nicht im Voraus festgelegt werden muss. Unter Linux können Sie die Größe einer Auslagerungsdatei jedoch nicht online ändern: Sie müssen die Registrierung aufheben, die Größe ändern und dann neu registrieren (oder eine andere Datei erstellen und die alte entfernen). Daher hat eine Auslagerungsdatei unter Linux im Vergleich zu einer Auslagerungspartition keinen so großen Vorteil. Dies ist vor allem dann nützlich, wenn Sie vorübergehend mehr virtuellen Speicher benötigen, als als permanente Fixierung.
Eine Auslagerungspartition kann bevorzugt werden, da sie eine Abhängigkeit vom Dateisystem vermeidet, wenn Sie lediglich einen adressierbaren Speicherpool benötigen.
Nichts hindert Sie jedoch daran, eine Auslagerungsdatei anstelle einer Auslagerungspartition oder zusätzlich zu einer Auslagerungspartition zu verwenden.
Erstellen Sie die Datei:
dd if=/dev/zero of=/extraswap bs=1M count=512
Dateiinhalte initialisieren:
mkswap /extraswap
Benutze es:
swapon /extraswap
Sehen Sie, ob es funktioniert hat:
free -m
Um die Swap-Datei immer beim Booten zu benutzen, editieren Sie / etc / fstab und fügen Sie hinzu
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
moreswap
ein Terminal eintippen zu lassen, wenn ich plötzlich zusätzlichen Swap-Platz benötige:alias moreswap='swapfile=`mktemp /tmp/swapXXXX` && sudo touch $swapfile && sudo dd bs=512 count=1M if=/dev/zero | tee $swapfile | pv -s 512M && sudo mkswap $swapfile && sudo swapon $swapfile'
Möglicherweise liegt der Hauptgrund darin, dass die Suspend-to-Disk-Funktion des Hauptkernels nicht mit Auslagerungsdateien funktioniert. Zum Beispiel müssen die Debian-Wiki- Anweisungen installiert werden, uswsusp
wenn Sie dies benötigen.
In jüngerer Zeit funktionieren Auslagerungsdateien nicht, wenn das Dateisystem vorhanden ist. Daher ist btrfs
es für Distributionen am einfachsten, Auslagerungsdateien immer als Partition zu erstellen.
Es wird vage erwähnt, dass die Verwendung einer Swap-Datei möglicherweise eine geringere Leistung als eine Partition vor Kernel-Version 2.6 hatte. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15
Der Vollständigkeit halber werde ich meine eigene Antwort hinzufügen:
Wie von @Gilles gesagt, kann eine Auslagerungsdatei nicht für den Ruhezustand verwendet werden. Wenn Sie eine Auslagerungsdatei verwenden, muss das System den Header der Auslagerungsdatei suchen. Dazu muss jedoch das Dateisystem eingehängt werden, das die Auslagerungsdatei enthält, und ein Journal-Dateisystem - z. B. ext3, ext4 und im Grunde alle modernen Dateisysteme, die von Linux verwendet werden - Kann nicht während des Lebenslaufs von der Festplatte gemountet werden. (In Wirklichkeit gibt es Möglichkeiten, dies zu tun, aber dies ist ziemlich umständlich.)
Quelle: https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt
Ich denke, dass es hauptsächlich daran liegt, dass die Zugriffszeit auf die auf einer Partition befindlichen Daten geringer ist. Der Sinn der Auslagerungsdatei besteht eher darin, dem Systemadministrator zu helfen, wenn er über genügend Arbeitsspeicher verfügt und umfangreiche Vorgänge ausführen muss, die möglicherweise zu einem Absturz seines Systems führen könnten. In diesem Fall erstellt er bei Bedarf sporadisch Auslagerungsdateien.
Aber trotzdem kann man beide haben.