Gibt es eine Begründung, wann eine dedizierte Auslagerungspartition erstellt werden soll, anstatt eine Auslagerungsdatei zu erstellen, z. B. / tmp / swap?
In meinem bestimmten Fall ist der Arbeitsspeicher ziemlich niedrig (1 GB), der Speicherplatz auf einer SSD ist ziemlich groß (256 GB). Daher wird der Austausch ziemlich regelmäßig stattfinden.
Kommentare erwünscht!
Carsten
Antworten:
Der Hauptnachteil, den ich bei der Verwendung von Auslagerungsdateien im Gegensatz zu Auslagerungspartitionen sehen kann, besteht darin, dass eine Auslagerungspartition nicht fragmentiert werden kann, wohingegen es möglich ist, dass bei der Erstellung eine Auslagerungsdatei in einem Extent-Dateisystem auf dem Dateisystem aufgeteilt wird Festplatte, was zu einem langsameren sequentiellen Zugriff führt.
quelle
E / A-Vorgänge für eine Datei müssen mehr Kernel-Code-Schichten durchlaufen (z. B. VFS), sodass mit dem Auslagern in eine Datei mehr Aufwand verbunden ist. Auf der anderen Seite ist es ein flexibleres Setup und kann für Ihren Fall gut genug sein.
quelle
Der Zugriff auf Auslagerungsdateien erfolgt nicht über das Dateisystem. Der Kernel weiß, welche Festplattenblöcke ausgetauscht werden, und greift direkt darauf zu. 1 . Eine nicht zusammenhängende Datei kann jedoch Fragmente in verschiedenen Bereichen der Festplatte enthalten. Abhängig von der spezifischen Verwendung kann eine zusätzliche Suche sie langsamer machen als eine dedizierte Partition.
OTOH: Wenn Sie mit einem Cloud-Server arbeiten, der keine Swap-Partition hat und keine Möglichkeit zum Erstellen einer solchen besteht, kann eine Swap-Datei Ihre Anwendung speichern.
[1] „ Der Kernel generiert zum Swapon-Zeitpunkt eine Zuordnung von Swap-Offset -> Festplattenblöcken und verwendet diese Zuordnung, um Swap-E / A direkt für die zugrunde liegende Festplattenwarteschlange durchzuführen, wobei alle Caching-, Metadaten- und Dateisystemcodes umgangen werden. ”- Linux-Kernel-Archiv: Re: Partition gegen Swap-Datei tauschen
quelle