Bedeutung der Swap-Partition

34
  • Was ist der Zweck einer Swap-Partition?
  • Woher weiß ich, dass ich gerade genug Swap-Partition habe? Nicht zu viel / wenig.

Mein Ubuntu-PC wird für typische Dinge verwendet:

  • Web (E-Mail, Facebook usw.)
  • Manche Filme
  • Spielen ist selten
lamcro
quelle
Nach dem, was gepostet wurde, scheint es, dass ich viel zu viel Swap habe. 3 GB RAM, 300 GB HD und eine 8 GB-Partition für den Austausch.
Lamcro
2
Zusätzlicher Tausch, der sich nicht daran gewöhnt, schadet Ihnen nicht, und es lohnt sich wahrscheinlich nicht, 1,7% Ihres Laufwerks zurückzugewinnen, um es kleiner zu machen. Ja, es ist viel größer, als Sie wahrscheinlich jemals verwenden werden, ich würde mir darüber keine Sorgen machen.
msw
1
Sie können es auch als "zukunftssichere" Swap-Partition ansehen. Wenn Sie Ihrem System jemals zusätzlichen Speicher hinzufügen, müssen Sie den Swap nicht vergrößern ... :)
24.

Antworten:

15

Die Swap-Partition dient mehreren Zwecken.

  • Es dient als 'Backup'-RAM. Sollte Ihr Computer keinen RAM mehr haben, wird der Auslagerungsbereich als temporäre Quelle für mehr Speicher verwendet. Insbesondere werden nicht verwendete Elemente aus dem RAM in den Auslagerungsbereich "ausgelagert", um den Anwendungen, die sie zu diesem Zeitpunkt benötigen, freien Speicherplatz zu lassen. Dies ist nicht ideal, da die Datenübertragungsrate zur Festplatte erheblich niedriger ist als die zu Ihrem normalen RAM. In der Praxis bedeutet dies, dass es viel langsamer ist, Informationen aus dem Swap-Bereich abzurufen.

  • Es wird verwendet, wenn der Computer in den Ruhezustand wechselt. Im Ruhezustand wird ein Image des Arbeitsspeichers in seinem aktuellen Zustand (wie ein ISO-Image ein Image darstellt) erstellt und im Auslagerungsbereich gespeichert. Dieses Image wird dann neu geladen, wenn der Computer neu gestartet wird.

  • Um am nützlichsten zu sein, sollte der Auslagerungsbereich mindestens (RAM * 1,5) sein, obwohl mehr empfohlen wird. Auf meinem System mit 3 GB RAM habe ich beispielsweise einen Auslagerungsbereich von 7,2 GB.

Richzilla
quelle
Wenn Sie nicht etwas verwenden , es ist ideal , um Swap auf der Festplatte, und verwenden Sie den RAM für Dinge , die Sie Gebrauch machen (zum Beispiel bewegt CUPS oder andere Daemons Sie nicht sehr oft verwenden , um Swap Sie mehr Speicher für das Caching Disk gibt Daten, die tatsächlich viel genutzt werden).
24.
-1; "(RAM * 1.5) obwohl mehr empfohlen wird" - auf dem Desktop-PC? Sie wiederholen konventionelle Weisheiten, die seit Jahren falsch sind.
@ user280493 Erwähnenswert, dass die Antwort Jahre alt war ... Jahre zuvor, als Sie einen Kommentar abgegeben haben.
Crisfole
7

Dies entspricht in etwa der Frage nach der „richtigen“ Größe für eine Swap-Partition. Viele der gleichen Informationen aus meiner Antwort gelten dort - im Grunde genommen sollte der Swap-Bereich im Ruhezustand mindestens so groß sein wie der Arbeitsspeicher, und ansonsten ist eine runde Zahl von 1 oder 2 GB problemlos ausreichend. Da der Austausch so viel langsamer ist als der Arbeitsspeicher, ist Ihr Computer beim Auffüllen von mehreren Gigabyte Swap mit ziemlicher Sicherheit ungewöhnlich langsam geworden.

Es besteht auch keine wirkliche Notwendigkeit für eine Swap-Partition - Swap-Dateien (auf den gängigen Linux-Dateisystemen verfügbar) bieten die gleiche Leistung und machen es trivial einfach, mehr Swap-Speicherplatz hinzuzufügen, wenn Sie feststellen, dass Sie nicht genug haben.

RAOF
quelle
4

hier eine sehr tiefe information über den austausch

Einige Leute sagen das Doppelte von Ihrem Widder, aber ich persönlich empfehle dies:

Swap = 1,5 x Gesamt-Ram

Beispiel

Wenn Sie 2 GB RAM haben -> Swap = 1,5 x 2 = 3

PD: Ubuntu Desktop verwendet Swap to Hibernate (PC aus, kein Strom erforderlich, Programmstatus gespeichert). Wenn der Ruhezustand für Sie wichtig ist, haben Sie mehr Auslagerungsspeicher als RAM + Auslagerungsüberlauf.

hhlp
quelle
2

Der freeBefehl kann Ihnen sagen, wie viel Swap Sie verwenden. Zum Beispiel auf dieser Maschine:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

zeigt mir, dass ich 2 GB (1947 m) RAM habe und dass das System den größten Teil davon verwendet hat. 312 m werden jedoch für E / A-Puffer verwendet, und der Rest (758 m) wurde vom System zum Füllen mit Festplatten-Cache verwendet.

Der Festplatten-Cache ist interessant, da für den Inhalt schneller Speicher anstelle langsamer Festplatten verwendet wird. Der Inhalt könnte von der Festplatte abgerufen werden, wird jedoch für den Fall aufbewahrt, dass er benötigt wird. Dies bedeutet auch, dass 758 m Arbeitsspeicher bei Bedarf sofort zurückgefordert werden können, da das System weiß, dass es diese Daten stattdessen auf der Festplatte finden kann.

Aus diesem Grund wird in einer zweiten Zeile angezeigt, dass ohne Puffer und Cache die Hälfte meines Arbeitsspeichers (1154 m) zur Verfügung stünde.

Die dritte Zeile zeigt, dass ich eine zu große Swap-Partition habe (sie war da und hat nichts getan), von der satte 3m genutzt wurden. Dies ist etwas, von dem der Kernel wirklich nicht erwartet, dass es bald verwendet werden muss, so dass es auf der "hinteren Veranda" herausragt.

Während freeSie den Schnappschuss jetzt erhalten, vmstatkönnen Sie ein laufendes Bild erhalten:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

Es gibt viele Informationen, aber von Interesse ist, dass es keinen Swap-In- oder Swap-Out-Verkehr gibt. Das heißt, ich benutze den Swap in den letzten 10 Sekunden überhaupt nicht.

msw
quelle
0
  • Swap-Bereich ist der Teil des Festplattenspeichers, der zur Unterstützung des RAM-Speichers mit begrenztem Speicherplatz verwendet wird. Der Arbeitsspeicher ist in der Größe begrenzt, daher benötigen einige Anwendungen mehr Arbeitsspeicher als der verfügbare Arbeitsspeicher. In diesem Fall wird dieser Auslagerungsspeicher auch als virtueller Arbeitsspeicher bezeichnet, der zur Unterstützung des Arbeitsspeichers verwendet wird.
  • Die Geschwindigkeit ist langsamer als die des RAM. Wenn Sie eine große Anwendung ausführen, wird der zuletzt verwendete Teil dieser Anwendung bei Bedarf aus dem Swap-Bereich zurück in den Swap-Bereich auf der Festplatte übertragen. Dies gibt dem Betriebssystem das Gefühl, nur mehr RAM zu haben, als es tatsächlich ist.
  • Es ist eine dedizierte Partition auf der Festplatte, die während der Installation des Betriebssystems erstellt wurde.
  • Es ist gut, wenn Sie einen Swap-Bereich mit der doppelten Größe des Arbeitsspeichers erstellen.
  • Sie können den verwendeten und verfügbaren Swap-Bereich mit dem folgenden Befehl überprüfen:

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    
Vijesh
quelle
0

Ich habe einen Laptop mit einer langsamen Festplatte, aber relativ hohem RAM (8 GB). Bei diesem Setup ist ein Swap-Laufwerk aus folgenden Gründen kontraproduktiv:

  1. Das Zurückholen von Anwendungen aus dem Swap ist langsam , vergleichbar mit dem Laden der Anwendung von Grund auf neu. Ich hätte lieber eine Umgebung, die schnell reagiert, auch wenn ich dann manchmal Anwendungen schließen und neu laden muss, als eine Umgebung, die mich manchmal unerwartet blockiert.

  2. Wenn ich den Ruhezustand aktivieren möchte, bedeutet dies, dass viele Daten auf die Festplatte geschrieben werden. Dies würde zu einer ständigen Entladung des Akkus führen, wenn dies dauerhaft durchgeführt wird (das Standardverhalten von swappiness 60) oder wenn dies nur zum Zeitpunkt des Ruhezustands durchgeführt wird (durch Reduzieren von swapiness), dann würde der tatsächliche Ruhezustand lange dauern. Ich fand das Suspendieren als RAM statt als Suspendieren auf der Festplatte ziemlich zufriedenstellend. Es könnte für ein paar Tage suspendiert bleiben, und es würde sich viel schneller lösen als ein vollständiger Winterschlaf.

  3. Da die Festplatte langsam ist, bevorzuge ich es, 1 GB RAM für den Festplatten-Cache reserviert zu halten , um den Speicher effektiv gegen Geschwindigkeit auszutauschen. Das hält meinen Rechner auf Trab, aber es bedeutet, dass ich nur 7 GB von 8 GB RAM für Anwendungen verwenden kann. Die Software, die ich verwende, um das zu erreichen, ist eine Abzweigung von Earlyoom, die alte Browser-Registerkarten löscht, wenn 88% des Arbeitsspeichers verwendet worden sind. Ich muss gelegentlich alte Browser-Tabs neu laden, die abgetötet wurden.

Wann würde dieser Rat nicht zutreffen?

  • Wenn Sie ein schnelles Festplattenlaufwerk oder eine SSD haben und weniger Bedenken hinsichtlich der Batterieentladung haben, treten die oben beschriebenen Nachteile nicht auf. (Obwohl frühe SSDs Probleme mit dem Verschleiß haben könnten, glaube ich, dass alle seit 2018 verkauften SSDs in Ordnung sein sollten.)

  • Wenn Ihr Computer über sehr wenig Arbeitsspeicher verfügt oder Sie mehrere speicherintensive Anwendungen gleichzeitig verwenden möchten, müssen Sie unabhängig von den Nachteilen möglicherweise Swap verwenden, um Ihre Arbeit zu erledigen. Dies war der primäre Anwendungsfall für den Austausch, bevor der Speicher billiger wurde.

  • Wenn Sie wirklich einen Ruhezustand benötigen (vielleicht möchten Sie Ihren Laptop in den Ruhezustand versetzen und ihn nach ein paar Tagen ohne Aufladung wieder öffnen), benötigen Sie ein Auslagerungslaufwerk (empfohlen mindestens so groß wie Ihr RAM).

Vorbehalt:

  • Einige der Programme, die wir für längere Zeit laufen lassen (insbesondere das Betriebssystem und die Desktop-Umgebung), laden Code in den Speicher, der nie wieder verwendet wird. Diese Seiten könnten zum Tauschen verschoben werden und müssen nie wieder herausgezogen werden, wodurch die zuvor erwähnten Nachteile vermieden werden. Aus diesem Grund erstelle ich manchmal eine kleine Auslagerungsdatei mit 512 MB oder 1 GB und lasse die nicht verwendeten Speicherseiten auslagern. Dadurch habe ich nur etwas mehr RAM für Anwendungen. (Erforderlich: Eine Technik zum Messen der Swap-Abwanderung, um die Größe dieser Swap-Datei zu optimieren.)
joeytwiddle
quelle