Benötige ich überhaupt eine Swap-Partition unter Linux?

7

Ich habe einen Core 2 Laptop mit 4 GB RAM. Ich benutze die Maschine zum Surfen, für Netzwerkzwecke und für die einfache Programmierung. (Ich benutze diesen Computer, um gelegentlich einen kleinen FTP- und Webserver zu hosten.)

Wäre eine Swap-Partition von Vorteil? Mein Verständnis ist, dass bei so viel Speicher kein Austausch für meine mittelmäßige Nutzung erforderlich wäre. Tatsächlich wird der Kernel gezwungen sein, meinen RAM zu verwenden, was schneller sein wird.

Ist das richtig?

Bill Gray
quelle
1
verwandte Frage ... serverfault.com/questions/19007/…
tomjedrz
auch verwandte Frage serverfault.com/questions/5841/…
Avery Payne

Antworten:

15

Benötige ich eine Swap-Partition?

Sie benötigen eine Auslagerungspartition (keine Auslagerungsdatei), um Ihre Workstation in den Ruhezustand zu versetzen.

Wie kann ich den Kernel zwingen, Swap nicht zu verwenden?

sysctl vm.swappiness=0

Noch ein Hinweis: Wie hängt das mit der Serververwaltung zusammen?

Martin M.
quelle
Aber was die Leistung betrifft, macht es keinen Unterschied?
Bill Gray
2
Beim Aktivieren des Swaps kann es zu einem leichten Overhead kommen, aber nichts, was Sie messen könnten, solange Sie den Swap nicht verwenden. Sie müssen nicht messen, wenn Sie es verwenden, da Sie eine Tasse Kaffee (oder zwei) trinken können. Wenn Sie wirklich anfangen, es zu benutzen, werden Sie feststellen :)
Martin M.
2
Nicht wirklich, aber angesichts der heutigen Speicherpreise möchten Sie wahrscheinlich trotzdem einen Tausch (bleiben Sie einfach bei der Standardeinstellung Ihrer Distribution, wenn Sie nicht wissen, wie viel). Sie sparen sich Kopfschmerzen, wenn Sie irgendwann eine große SQL-Abfrage (oder etwas Ähnliches) starten und nur deshalb auf den OOM-Killer stoßen. Andererseits könnten Sie zu diesem Zweck immer einfach eine Auslagerungsdatei verwenden.
Martin M.
2
Sie meinen den Ruhezustand, der Ruhezustand ist ACPI und berührt die Festplatte nicht.
LapTop006
1
Sie haben Recht, LWN wird nicht zitiert : swap_tendency = mapped_ratio/2 + distress + vm_swappiness- Das Deaktivieren des Austauschs ist viel einfacher, indem einfach der gesamte Swap-Speicherplatz entfernt wird. Ich bin der Meinung und wenn Sie nicht wissen, was Sie tun, sollten Sie eine Swap-Partition haben (ich gebe nicht vor, es zu wissen, also habe ich Swap auf allen meinen Maschinen eingerichtet, nur für den Fall)
Martin M.
4

Es gibt Nutzen. Ob Sie es brauchen, steht zur Debatte. Swap gibt Ihnen zumindest ein Sicherheitsnetz für den Fall, dass etwas Unerwartetes passiert. Ihr System wird ausgetauscht, anstatt dass Programme von OOM abstürzen oder beendet werden.

Kevin Kuphal
quelle
4
OOM wird unabhängig vom Tausch ins Spiel kommen. Es ist nur so, dass es beim Tausch später passiert.
Martin M.
Was ist der Nutzen neben dem Risikomanagement?
Bill Gray
Mit Swap, obwohl die Trägheit und das Disk Thrashing ein sicheres Zeichen dafür sind, dass die Dinge nach Süden gehen
Kevin Kuphal
4

Suspend-to-Disc erfordert auch genügend Swap, um den Inhalt des Speichers zu speichern (je nach Einstellungen und Version wird möglicherweise eine Komprimierung verwendet).

Da es sich um einen Laptop handelt, möchten Sie möglicherweise Suspend-to-Disc verwenden.

MarkR
quelle
2

Nein. Wenn Sie sich aus irgendeinem Grund später für einen Austausch entscheiden, können Sie eine Datei erstellen und das Betriebssystem anweisen, diese Datei in Ihrem Dateisystem für den Austauschplatz zu verwenden.

Dustin
quelle
2

Tatsächlich wird der Kernel gezwungen sein, meinen RAM zu verwenden, was schneller sein wird. ?

Vielleicht , höchstwahrscheinlich nein - moderne Betriebssysteme sind intelligent (na ja, vernünftig) in Bezug auf die Verwendung des verfügbaren Arbeitsspeichers - selbst alte sind ziemlich gut. Auf allen Linux-Computern, die ich verwendet habe, bleibt die Swap-Anzahl bei 0 Byte, bis sie benötigt wird - es gibt keinen Grund, warum das Betriebssystem Swap verwenden würde, es sei denn, es wird auch erzwungen.

Das Problem tritt nur auf, wenn Ihnen der physische Speicher ausgeht.

  • Ohne Swap-Space friert das System einige Minuten lang ein, der OOM-Killer (nicht genügend Speicher) startet und beendet Prozesse, bis genügend freier Speicher für die Hauptbits des Systems vorhanden ist.
  • Mit Swap-Space kann die Anwendung, die den Austausch verursacht hat, etwas langsamer werden (ein guter Hinweis darauf, dass die physischen Speicherbeschränkungen erreicht werden), und ... nichts, es geht einfach weiter ...
dbr
quelle
"Es gibt keinen Grund, warum das Betriebssystem Swap verwenden würde, wenn es nicht auch dazu gezwungen wird." Es heißt Swapiness. Das Betriebssystem tauscht einfach "toten" Speicher aus, um mehr Festplatten-Cache zu benötigen.
Kubanczyk
1

Stellen Sie sich den Arbeitssatz einer Anwendung aus zwei Teilen vor: den Daten, die sie in ihrem eigenen Adressraum speichert, und den Daten, auf die sie aus Dateien zugreift. Der erste muss aus Gründen der Richtigkeit im RAM oder im Swap gehalten werden, der zweite kann korrekt von der Festplatte oder dem Dateiserver abgerufen werden und muss aus Leistungsgründen nur im RAM zwischengespeichert werden.

Ich entschuldige mich dafür, dass ich keine empirischen Beweise dafür habe, aber ich habe immer angenommen, dass es einen Leistungsvorteil bietet, wenn Daten in der ersten Kategorie, die nicht mehr Teil des Arbeitssatzes sind, ausgelagert werden können, sodass weniger Daten aus der zweiten Kategorie benötigt werden von der Festplatte oder dem Netzwerk abgerufen.

James
quelle
0

Swap bietet Ihnen im Wesentlichen Schutz vor Burst-Speicherverbrauch. Wenn eine Ihrer Anwendungen beschließt, zu viel Speicher für das Wohl Ihres Systems zuzuweisen (der Speicherverbrauch nähert sich dem gesamten verfügbaren Speicher), erhalten Sie die Beendigung dieser Anwendung oder (bester Fall) oder Beendigung anderer Anwendungen (überhaupt nicht gut), in 99% der Fälle kann die Anwendung nicht das tun, was sie tun würde. Beim Auslagern besteht die Möglichkeit, dass die Anwendung alles tut, was sie beabsichtigt, den Speicher freigibt und der normale Betrieb wieder aufgenommen wird. Ohne Tausch gibt es keine solche Möglichkeit. Können Sie wirklich nicht 4 GB Ihrer Festplatte für den Tausch sparen? Wir haben definitiv Swap auf unseren Systemen aktiviert, obwohl sie mindestens 32 GB RAM haben.

Was ist im Allgemeinen Ihr Problem mit dem Tausch? Der einzige "echte" Nachteil, den ich sehe, ist, dass Sie einige Gigabyte Ihres nutzbaren Speicherplatzes sparen, aber das ist alles, was es zu tun gibt. Oder fehlt mir etwas?

shylent
quelle
0

Ich habe einen alten Server mit 4 GB RAM, und der Swap darauf beträgt 4 GB, und ein kleiner Teil davon wird verwendet. Selten, aber es gewöhnt sich. Wenn Sie nicht 4 GB für den Austausch sparen können, würde ich die Festplatte aktualisieren.

Edward_178118
quelle