Was ist der Zweck von mehreren Auslagerungsdateien

28

Während der Installation der meisten (wenn nicht aller) Linux-Distributionen wird die Festplatte standardmäßig so partitioniert, dass sie eine Swap-Partition enthält.

Es ist möglich, dieses Verhalten mit zu ändern swapon -p priority

Den Manpages zufolge ist die Priorität:

PRIORITY
Each swap area has a priority, either high or low. The default priority is 
low. Within the low-priority areas, newer areas are even lower priority 
than older areas.
All priorities set with swapflags are high-priority, higher than default. 
They may have any non-negative value chosen by the caller. Higher numbers 
mean higher priority.

Swap pages are allocated from areas in priority order, highest priority 
first. For areas with different priorities, a higher-priority area is 
exhausted before using a lower-priority area. If two or more areas have the 
same priority, and it is the highest priority available, pages are 
allocated on a round-robin basis between them.

As of Linux 1.3.6, the kernel usually follows these rules, but there are 
exceptions

Warum würden Sie jemals mehr als eine Auslagerungsdatei benötigen?
Ist es für Systemadministratoren üblich, mehr als einen Swap zu konfigurieren?

Spuder
quelle

Antworten:

47

Es gibt so viele Gründe, mehrere Auslagerungsbereiche zu haben (es müssen keine Dateien sein), auch wenn Sie nur eine einzige Spindel haben.

Rückblick 20-20: Sie haben eine Maschine mit einem einzigen Auslagerungsbereich bereitgestellt und dann festgestellt, dass dies nicht ausreicht. Sie können den Computer nicht nach Belieben neu bereitstellen , aber Sie können einen anderen Auslagerungsbereich (wahrscheinlich eine Datei) erstellen, bis das Wiederherstellen des Partitionslayouts eine Option wird.

Ändern der Größe oder Verschieben von Auslagerungsbereichen: Sie können die Größe von Auslagerungsbereichen nicht ändern (wie von Evan Teitelman erwähnt ). Und Sie können nicht einfach swapoffeinen neuen Auslagerungsbereich erstellen und dann swaponerneut, es sei denn, Sie haben genügend RAM: Sie swapoffmöchten alle ausgelagerten Seiten in den RAM verschieben, bevor Sie den Auslagerungsbereich verlassen. Sie swapofferstellen also einen temporären Auslagerungsbereich, das Original. Warten Sie, bis alle Seiten vom alten Auslagerungsbereich in den temporären Bereich verschoben wurden. Ändern Sie die Größe der ursprünglichen Auslagerungspartition mkswap, danach swapondie Größe der Partition und swapoffder temporären Partition . Die ausgetauschten Seiten werden aus dem temporären Auslagerungsbereich in den Bereich mit geänderter Größe kopiert, und Sie sind fertig. Wenn Sie Swap-Bereiche verschieben, benötigen Sie nicht einmal einen temporären Bereich. mkswapdie neue, swapones, dannswapoff der alte und alles ist bewegt.

Verrücktes schnelles Austauschen: Moderne Festplatten verwenden die Zonen-Bit-Aufzeichnung . Die erste Zone der Festplatte ist die schnellste. Möglicherweise möchten Sie die Festplatte messen und eine Partition erstellen, die genau die erste, schnellste Zone des Laufwerks abdeckt. Dies kann kleiner sein als Ihre beabsichtigte Swap-Größe. Sie fügen also mit derselben Technik mehrere Partitionen auf mehreren Datenträgern hinzu.

Crazy Fast Swapping, die Fortsetzung: Alternativ können Sie, sobald Sie wissen, wo sich die schnellsten Zonen Ihrer Festplatten befinden, Swap-Bereiche mit hoher Priorität in der ersten Zone, Swap-Bereiche mit niedriger Priorität in der zweiten Zone usw. einrichten. Auf diese Weise wird Ihr Swap-System automatisch informiert Um den Lastausgleich für alle schnellen Plattenzonen zu gewährleisten, bevorzugen Sie die schnelleren Zonen und verwenden Sie die langsameren Zonen als Überlaufbereich, wenn dies erforderlich ist.

Symmetrischer Lastenausgleich: Auf einem gut ausgebauten System mit vielen Spindeln (wie einem Server) möchte ich mehrere Swap-Partitionen am Anfang jeder Festplatte haben (um die Vorteile der Zonenbitaufzeichnung zu nutzen ). Sie alle haben identische Prioritäten, so dass der Kernel den Swap ausgleichen wird. Eine Spindel kann Ihnen 100 MB / s liefern, aber ein Vertauschen aller Spindeln kann Ihnen ein Vielfaches davon liefern. (naiv gesprochen)

Engpassbewusster Lastausgleich: In der Praxis gibt es jedoch andere Engpässe. So kann beispielsweise ein 16-Platten-Server vier 6-Gbit / s-SATA-Ports mit jeweils einem 4-Port-Multiplikator und vier Platten haben, die sich die Bandbreite teilen. Wenn Sie darüber Bescheid wissen, können Sie Ihre Auslagerungsbereiche so organisieren, dass die Festplatte 1 an den Ports 1–4 die höchste Priorität hat, die zweite Festplatte an den Ports 1–4 die zweithöchste Priorität usw. Dadurch wird das Auslagern von Lasten ausgeglichen, aber nicht überlastet Port-Multiplikatoren.

Wechseln zwischen Geräten mit unterschiedlicher Leistung: (wie von Luke erwähnt) Wenn Ihr System kein brandneuer Server ist und über die Jahre organisch gewachsen ist, kann es Blockgeräte haben, die erheblich schneller sind als andere. Sie möchten zuerst zum schnellsten Gerät, dann zum nächstschnellsten usw. wechseln.

Überlegungen zur Größe: (mit freundlicher Genehmigung von David Kohen ) Wenn Sie Ihren gesamten Swap auf ein Laufwerk setzen, bleiben möglicherweise einige Konzerte auf dem Laufwerk frei (dies klingt nach einem Szenario von 2001, aber es gibt viele alte oder eingebettete Geräte, bei denen dies ein Problem sein könnte). Teilen Sie es auf alle Laufwerke auf, und zusätzlich zu den oben genannten Vorteilen erhalten Sie eine bessere Speicherplatznutzung pro Laufwerk. Es ist eine Sache, ein paar Gigs pro Spindel zu verlieren und eine andere, 300 Gigs von einer Platte zu verlieren.

Notfälle: Sie haben genau 96 Stunden Zeit, um Ihre Dissertation einzureichen, und Ihr letztes Experiment (das Ihnen wahrscheinlich den Nobelpreis sowie unkonventionelle Buchstaben in Groß- und Kleinschreibung nach Ihrem Namen einbringt) ist beeindruckend. Du bist fast aus dem Tausch. Sie erstellen eine Auslagerungsdatei mit einer Priorität, die niedriger ist als die Priorität Ihres Hauptauslagerungsgeräts - der Kernel verwendet sie als Überlauf-Auslagerungsspeicher. Sie könnten sogar swapd installieren , um dies automatisch für Sie zu erledigen, sodass Sie auch genügend Swap-Platz für diese riesigen emacsund LaTeX-Läufe haben.

Wechseln zwischen verschiedenen Medien: Linux kann nicht zu Zeichengeräten wechseln, aber es gibt viele verschiedene Medien, physische und virtuelle: SSDs (Hinweis: Sie möchten wahrscheinlich nicht auf SSDs wechseln), Dutzende schockierend unterschiedlicher Arten von Festplatten Festplatten, Disketten (ja, Sie können auf eine Diskette wechseln - Sie können sich mit Unix immer selbst in den Fuß schießen), DRBD- Volumes, iSCSI, LVM-Volumes, LUKS-verschlüsselte Partitionen usw. (einschließlich surrealer, umwerfender Kombinationen dieser - LUKS auf LVM auf einem Parallelport-ZIP-Laufwerk über iSCSI über IEEE802.3ad-aggregiertes Ethernet austauschen (kein Problem, Sie sind dreckig pervers). Dies sind Nischenszenarien, die Nischenanforderungen unterstützen sollen.

Alexios
quelle
Danke, ich kenne mich nicht mit Zone-Bit-Aufnahme aus. Ich bin gespannt,
ob
1
Ich füge einen historischen Grund hinzu, dass die Verwendung einer Festplatte als Auslagerungsgerät in der Vergangenheit manchmal nicht effektiv war, da sie zu viel Speicherplatz beanspruchte und den Rest der Festplatte unbrauchbar oder weniger nützlich machte und den Auslagerungsspeicher auf mehrere Geräte verteilte stellten einen Kompromiss zwischen einem großen Auslagerungsspeicher und dem verfügbaren zusammenhängenden Speicherplatz auf der Festplatte bereit.
Didi Kohen
Das ist immer noch so. Möglicherweise möchten Sie auch, dass Ihr Swap die schnellste Zone der Festplatte belegt, und nur diese. Das gibt Ihnen nur so viel Platz zum Spielen pro Spindel. Historisch gesehen war dies jedoch nicht der Fall, da HDDs mit Zonen "neu" sind. (Meine Version von "historisch" ist, wenn das Gedächtnis in Worten gemessen wurde)
Alexios
+1 für "Sie können sich immer mit Unix in den Fuß schießen" :-)
DUzun
3

Festplatten mit mehreren Geschwindigkeiten. Sie können den schnelleren zuerst einrichten, gefolgt von den langsameren, falls dieser fehlschlägt.

Luke
quelle
3

Sie können Swap-Dateien (soweit ich weiß) nicht erweitern oder Partitionen austauschen, während sie verwendet werden. Wenn Sie kurz davor stehen, Ihren verfügbaren Swap-Bereich auszufüllen, müssen Sie möglicherweise zusätzliche Swap-Dateien erstellen.

Wenn ein System 4 GB Swap-Speicherplatz benötigt und über zwei 2 GB-Speichereinheiten verfügt, muss es mindestens zwei Swap-Bereiche verwenden.


quelle