Soweit ich weiß, besteht der Zweck einer Swap- Partition in Linux darin, einige Informationen, auf die nicht so häufig zugegriffen wird, aus dem Arbeitsspeicher freizugeben und sie auf eine bestimmte Partition auf Ihrer Festplatte zu verschieben (auf Kosten der Verzögerung beim Lesen oder Schreiben) zu), was im Wesentlichen aktiven Anwendungen mehr von dem "Hochgeschwindigkeitsspeicher" ermöglicht.
Dies ist ideal, wenn Sie auf einem Computer mit wenig Arbeitsspeicher arbeiten und keine Probleme haben möchten, wenn der Arbeitsspeicher knapp wird. Wenn Ihr System jedoch über 16 GB oder 32 GB RAM verfügt und Sie keine MySQL-Datenbank für StackExchange ausführen oder einen 1080p-Film in voller Länge unter Linux bearbeiten, sollte eine Swap-Partition verwendet werden?
/tmp
), nach 3 Tagen Betriebszeit.Antworten:
Ja.
Auf jeden Fall sollte Swap immer aktiviert sein, es sei denn, es gibt einen sehr zwingenden, verbotenen Grund (z. B. keine Festplatte oder nur Netzwerkfestplatte vorhanden). Sollten Sie einen Swap in der Größenordnung der oft empfohlenen lächerlichen Größen haben (z. B. das Doppelte des Arbeitsspeichers)? Nun, nein .
Der Grund dafür ist, dass Swap nicht nur nützlich ist, wenn Ihre Anwendungen mehr Speicher belegen als es physischen RAM gibt (in diesem Fall ist Swap überhaupt nicht sehr nützlich, da es die Leistung ernsthaft beeinträchtigt). Der Hauptanreiz für den Austausch besteht heutzutage nicht darin , 16 GB RAM auf magische Weise in 32 GB RAM umzuwandeln, sondern den installierten, verfügbaren RAM effizienter zu nutzen.
Auf einem modernen Computer bleibt der Arbeitsspeicher nicht ungenutzt. Nicht genutzter Arbeitsspeicher ist etwas, das Sie genauso gut nicht kaufen und stattdessen sparen könnten. Daher wird alles zwischengespeichert, was Sie laden oder was auf andere Weise im Speicher abgelegt ist. Alles, was möglicherweise später von irgendjemandem wiederverwendet werden könnte (eingeschränkt durch Sicherheitsbeschränkungen). Sehr bald , nachdem die Maschine gestartet ist, alle physischen RAM wird seit verwendet etwas .
Wenn Sie vom Betriebssystem eine neue Speicherseite anfordern, muss der Speichermanager eine fundierte Entscheidung treffen:
Die Optionen 4 und 5 sind sehr unerwünscht und treten nur auf, wenn das Betriebssystem überhaupt keine andere Wahl hat. Die Optionen 1 und 2 bedeuten, dass Sie etwas wegwerfen, das Sie möglicherweise bald wieder benötigen werden. Dies wirkt sich negativ auf die Leistung aus.
Option 3 bedeutet, dass Sie etwas, das Sie (wahrscheinlich) nicht so schnell benötigen, in einen langsamen Speicher verschieben. Das ist in Ordnung, da jetzt etwas, das Sie brauchen , den schnellen Arbeitsspeicher verwenden kann.
Durch Entfernen von Option 3 haben Sie das Betriebssystem effektiv auf die Schritte 1 oder 2 beschränkt. Das erneute Laden einer Seite von der Festplatte ist dasselbe wie das erneute Laden von der Auslagerung, mit der Ausnahme, dass das erneute Laden von der Auslagerung in der Regel weniger wahrscheinlich ist (aufgrund der richtigen Paging-Entscheidungen).
Mit anderen Worten, durch Deaktivieren von Swap erhalten Sie nichts, aber Sie begrenzen die Anzahl der nützlichen Optionen des Betriebssystems für die Verarbeitung einer Speicheranforderung. , Die vielleicht nicht , aber sehr wahrscheinlich sein kann , einen Nachteil (und nie von Vorteil).
[BEARBEITEN]
Der aufmerksame Leser der
mmap
Manpage , insbesondere der Beschreibung vonMAP_NORESERVE
, wird einen weiteren guten Grund bemerken, warum Swap auch auf einem System mit "genügend" physischem Speicher eine Notwendigkeit darstellt:Msgstr "Wenn der Auslagerungsspeicher nicht reserviert ist, kann beim Schreiben SIGSEGV auftreten, wenn kein physischer Speicher verfügbar ist."
- Warten Sie einen Moment, was bedeutet das?
Wenn Sie eine Datei zuordnen, können Sie direkt auf den Inhalt der Datei zugreifen, als befände sich die Datei auf magische Weise im Adressraum Ihres Programms. Für den Nur-Lese-Zugriff benötigt das Betriebssystem im Prinzip nicht mehr als eine einzige Seite des physischen Speichers, die es bei jedem Zugriff auf eine andere virtuelle Seite mit unterschiedlichen Daten auffüllen kann (aus Effizienzgründen ist dies natürlich nicht der Fall, aber Im Prinzip können Sie mit einer einzigen Seite physischen Speichers auf Daten im Wert von Terabyte zugreifen. Was ist, wenn Sie auchin eine dateizuordnung schreiben? In diesem Fall muss das Betriebssystem für jede Seite, auf die geschrieben wird, über eine physische Seite oder einen Auslagerungsspeicher verfügen. Es gibt keine andere Möglichkeit, die Daten zu speichern, bis der Rückschreibevorgang für schmutzige Seiten abgeschlossen ist (dies kann mehrere Sekunden dauern). Aus diesem Grund reserviert das Betriebssystem Swap-Speicherplatz (legt diesen jedoch nicht unbedingt fest). Falls Sie also in eine Zuordnung schreiben, während zufällig keine physische Seite ungenutzt ist (dies ist durchaus möglich und unter normalen Umständen der Fall), müssen Sie Folgendes tun: Wir garantieren, dass es immer noch funktioniert.
Was ist nun, wenn es keinen Swap gibt? Dies bedeutet, dass kein Swap reserviert werden kann (duh!), Und dies bedeutet, dass Sie eine angenehme Überraschung in Form des Empfangs Ihres Prozesses erhalten, sobald keine freien physischen Seiten mehr vorhanden sind und Sie auf eine Seite schreiben ein Segmentierungsfehler, und wahrscheinlich getötet.
[/BEARBEITEN]
Die traditionelle Empfehlung, Swap doppelt so groß wie RAM zu machen, ist jedoch unsinnig. Obwohl der Speicherplatz billig ist, ist es nicht sinnvoll, so viel Swap zuzuweisen. Etwas zu verschwenden, das billig ist, ist immer noch verschwenderisch, und Sie möchten auf keinen Fall ständig Arbeitssets mit einer Größe von mehreren Hundert Megabyte (oder mehr) austauschen.
Es gibt keine einzige "richtige" Swap-Größe (es gibt so viele "richtige" Größen wie Benutzer und Meinungen). Ich weise normalerweise feste 512 MB zu, unabhängig von der RAM-Größe, was für mich sehr gut funktioniert. Die Argumentation dahinter ist, dass man sich 512 MB heutzutage immer leisten kann, selbst auf einer kleinen Festplatte. Auf der anderen Seite ist es nicht besser, mehrere Gigabyte Swap hinzuzufügen. Sie werden sie nicht verwenden, es sei denn, etwas läuft ernsthaft schief.
Selbst auf einer SSD ist der Austausch um Größenordnungen langsamer als der Arbeitsspeicher (aufgrund der Busbandbreite und der Latenz), und es ist durchaus akzeptabel , etwas zu verschieben, das wahrscheinlich nicht mehr benötigt wird (dh Sie werden es höchstwahrscheinlich nicht mehr benötigen) Wenn Sie es erneut einlagern, so dass Ihr Pool verfügbarer Seiten effektiv kostenlos erweitert wird, sind Sie ziemlich verloren , wenn Sie wirklich viel Swap benötigen (das heißt, Sie haben eine Anwendung, die z. B. einen 50-GB-Datensatz verwendet).
Sobald Ihr Computer beginnt, Seiten im Wert von Gigabyte ein- und auszutauschen, wird alles durchsucht. Für die meisten Leute (einschließlich mir) ist dies keine Option, und so viel Swap zu haben macht daher keinen Sinn.
quelle
Ich werde einigen der Meinungen, die ich hier sehe, nicht zustimmen. Ich würde immer noch eine SWAP-Partition erstellen, insbesondere in einer Produktionsumgebung. Ich mache das auch für meine Heimcomputer und VMs.
In diesen Tagen berechne ich sie um das 1-1,5-fache des Speichers. Früher galt das 2-fache des Gedächtnisses als Faustregel. Die Auslagerungsfestplatte ist "billig", da sie nicht gesichert oder geschützt werden muss.
Sollte Ihnen der Speicherplatz ausgehen, haben Sie in Ihrem Auslagerungsbereich ein wenig Zeit und Zeit, um das Problem zu beheben.
Beachten Sie, dass sich Dinge wie / tmp im Swap-Bereich befinden können.
Der Auslagerungsbereich kann einen Teil des Kernel-Dumps enthalten, damit dieser beim nächsten Neustart wiederhergestellt werden kann. Dies ist möglicherweise hilfreich für einen zukünftigen Debug-Notfall, zu dem Sie aufgefordert werden.
quelle
Vielleicht:
Ich habe viel über dieses Thema nachgedacht und gesehen, dass mehr Meinungen auf beiden Seiten des Arguments landeten, als ich zählen kann. Mein Ansatz war es, einen Weg zu finden, um es herauszufinden.
Beginnen Sie mit einer aktiven Swap-Partition, die Ihrer Meinung nach eine ausreichende Größe hat.
Öffnen Sie dann ein Terminal in einem Arbeitsbereich und geben Sie den Befehl ein,
free -hs 1
der jede Sekunde die Nutzung meldet.Optional können Sie zu anderen Arbeitsbereichen wechseln.
Tun Sie alles, was Sie wahrscheinlich jemals tun werden, und dann noch etwas mehr. Führen Sie alle gängigen Apps auf einmal aus, durchsuchen Sie mehrere Registerkarten und versuchen Sie verzweifelt, dem System ein echtes Workout zu bieten. Dies kann bedeuten, dass Sie ein halbes Dutzend Videos neu codieren, während Sie einen Kompilierungsvorgang ausführen und Ihre E-Mails abrufen oder was auch immer. Seien wir ehrlich, hier geht es darum, wie Sie Ihr System verwenden.
Wenn Sie das Gefühl haben, dass das System stark ausgelastet ist (oder so hoch ist, wie Sie es wahrscheinlich jemals bekommen werden, und dann einige), schauen Sie sich das Terminal an und überprüfen Sie die Ergebnisse. Oder leiten Sie die Ausgabe noch besser in eine Datei um, indem Sie
>output.txt
sie zum Befehl hinzufügen , damit Sie den vollständigen Lauf untersuchen können. Wenn Ihr genutzter Swap Mem Free nie überschreitet, brauchen Sie keinen Swap. Wenn doch, tust du es.Ich brauche keinen Tausch. Vielleicht tust du es. Warum nicht herausfinden?
In Bezug auf den Größentausch werden Faustregeln in der Regel überbewertet, da es sich um eine nutzungsbasierte Frage handelt.
quelle
swap
die Zeit um istfree
?HINWEIS: Dies ist mir in einer bestimmten, ungewöhnlichen Situation passiert. Wenn Sie ein Problem beheben, kann dies hilfreich sein. Ich will damit nicht andeuten, dass ALLE Maschinen einen Tausch haben MÜSSEN.
VIELLEICHT!
Ich hatte in der Vergangenheit Probleme mit einer von mir gebauten "Appliance", auf der Linux ausgeführt wurde - auf einem CompactFlash-Gerät wollte ich meine CF nicht mit Swap verwenden, und es war genügend Speicher für die Anwendung vorhanden.
Die meisten dieser Geräte funktionierten einwandfrei, aber auf einer besonders belebten Box trat ein Problem auf:
SPEICHER-FRAGMENTIERUNG
Ohne Auslagerungsspeicher wurde der Speicher vor allem bei langen laufenden Prozessen nach und nach fragmentierter (obwohl ich viel freien Speicher hatte, war alles in sehr kleinen Teilen). Ich habe ein wenig Swap-Space eingefügt und Linux angewiesen, es nicht zu verwenden, es sei denn, es muss; Dies löste das Problem vollständig.
Zusätzlich zu allem anderen ermöglicht der Auslagerungsspeicher das Verschieben und Defragmentieren des Speichers. Wenn Sie einen fragmentierten Speicher haben und einen einzelnen großen Block benötigen, werden die Fragmente ausgetauscht. Wenn sie wieder eingelagert werden, werden sie effektiv defragmentiert.
Check out / proc / buddyinfo - meine sieht momentan so aus:
Die Zahlen stehen für Blöcke unterschiedlicher Größe. Jede Größe entspricht der Hälfte der Größe des nächsten Blocks, von 4 MB-Blöcken auf der linken Seite bis zu 4 KB auf der rechten Seite (dh 4 MB, 2 MB, 1 MB usw.). Eine neu gebootete Maschine sollte alle Blöcke links und nur sehr wenige rechts haben (= nicht fragmentiert). Denken Sie auch daran, dass die gleiche Menge an Speicher (z. B. 4 MB) in den Spalten als unterschiedliche Zahlen dargestellt wird - 1 Block in der ganz linken Spalte, 1024 in der ganz rechten Spalte.
Der Speicher wird aus dem Pool zugewiesen, der so weit wie möglich rechts liegt. Wenn Ihr Programm beispielsweise 12 KB Speicher benötigt (auf einmal), wird dies aus der 16-KB-Spalte übernommen. Der Rest wird in der 4-KB-Spalte angezeigt. Wenn es keine 16-kb-Blöcke gibt, werden die 32-kb-Blöcke verwendet, sodass 16-kb- und 4-kb-Blöcke übrig bleiben und so weiter.
Wenn es keine ausreichend großen Speicherblöcke gibt, und Sie über Swap Space verfügen, wird z. B. der am wenigsten genutzte Block mit 16 KByte (der z. B. einen 4-KByte-Block enthalten kann, einen 4-KByte-verfügbaren Block) gefunden. und 2 weitere verwendete 4-kb-Blöcke), verschieben Sie die USED-Teile nur, um sie auszutauschen, und weisen Sie der neuen Anwendung den freigegebenen Speicher zu.
In der abgestürzten Box hatte ich Hunderttausende von 4kb- und 8kb-Blöcken und sonst nicht viel.
Soweit ich das beurteilen kann (geht an den abgestürzten Maschinen vorbei!), Wechselt der Kernel von Speicher zu Auslagerungsspeicher und von Speicher zu Speicher, aber niemals von Speicher zu Speicher.
quelle
Eine Swap-Partition hat einen hohen Stellenwert, da sie nicht nur als zusätzlicher RAM-Speicher fungiert, wenn der Speicher knapp wird.
Zum einen verwendet Linux so viel Speicher wie möglich, um Dateien und E / A-Vorgänge zwischenzuspeichern. Wenn Sie über einen Swap verfügen, wird möglicherweise mehr Speicher für das Zwischenspeichern von E / A-Vorgängen benötigt und beschleunigt (indem der Festplattenzugriff minimiert und der Verschleiß von SSDs verringert wird) Daten zu speichern, die ein Programm zugewiesen hat, die jedoch nur alle 12 Stunden verwendet werden, was bei einigen Daemons der Fall sein kann.
Darüber hinaus verwendet Linux eine optimistische Speicherzuweisungsstrategie, mit der die Seiten nominal zugewiesen werden können, auch wenn nicht sicher ist, ob sie über echten Speicher verfügen, um sie zu füllen. Dies ist effizienter als eine ordnungsgemäße Überprüfung und Zuordnung jeder Zuordnung und verursacht normalerweise keine Probleme. Zu den Heuristiken, die der Kernel verwendet, um festzustellen, ob das Zulassen einer Zuordnung sinnvoll ist, gehört der auf dem System verfügbare Swap-Level. Daher können Zuordnungen schneller sein, wenn das System über viel Swap verfügt, auch wenn es nicht häufig verwendet wird.
Diese Faktoren lassen mich persönlich glauben, dass es besser ist, auf fast jedem normalen System einen Swap durchzuführen. Bei großen RAM-Größen ignoriere ich jedoch die RAM * 2-Regel und beschränke meinen Swap einfach auf 4 bis 8 GB (abhängig von der Größe der Festplatte) ).
quelle
Sie sollten niemals einen Swap haben, der größer ist als die maximale Größe, die Sie tolerieren können, wenn Sie darauf warten, dass der Kernel ein- oder auslagert. Andernfalls erstellen Sie lediglich einen neuen Fehlermodus für Ihr System (der beim Austauschen nicht mehr wiederherstellbar ist). Beachten Sie, dass Linux trotz moderner Laufwerke, die Daten in der Größenordnung von GB / s übertragen können, in der Regel nur Swap-Bewegungen ausführen kann, die Hunderten von kB oder bestenfalls einigen MB pro Sekunde entsprechen. Ein so großer Swap kann Ihr System für Minuten, Stunden oder sogar Tage unbrauchbar machen.
Wenn Sie über ausreichend physischen Speicher für Ihre Aufgaben verfügen, sollten Sie die Größe des Swap-Speichers an die Menge der "Junk Data" -Prozesse anpassen, die zwar vorhanden sind, aber niemals verwendet werden. Dies liegt wahrscheinlich im Bereich von wenigen bis einigen hundert Megabyte. Diese Strategie ermöglicht es, den gesamten physischen Speicher zum Zwischenspeichern nützlicher Informationen zu verwenden und nicht als permanenten Speicher für Daten, die wahrscheinlich nie wieder verwendet werden.
Wenn Sie nicht über genügend physischen Speicher verfügen, müssen Sie prüfen, ob Sie eine starke Verlangsamung durch starkes Auslagern tolerieren können. Wenn ja, mit bis zu 1-2 GB Swap könnte Sinn machen, und vielleicht bis zu 4 GB , wenn Sie extrem schnelle Laufwerke haben. Aber mehr als das wird die Ausfallmodi Ihres Systems nur verschlimmern, und Sie sollten stattdessen in Betracht ziehen, einfach mehr RAM zu kaufen.
quelle
Nur wenn Sie in der Lage sein möchten, in den Ruhezustand zu wechseln (Diese Funktion wird auch als "Suspend to Disk" bezeichnet und umfasst das Speichern des gesamten RAM-Inhalts und das Ausschalten der Stromversorgung). In der Regel wird dies nur auf Laptops und anderen Mobilgeräten verwendet, es hängt also davon ab.
quelle
Es gibt keine allgemeingültige und eindeutige Antwort, da dies von einer Aufgabe abhängt, die Sie ausführen möchten. Wenn Sie einen DB-, HTTP-, Virtualisierungs- oder Cache-Server ausführen möchten, sollten Sie niemals einen Swap aktivieren, unabhängig von der Größe des Arbeitsspeichers. Wenn Sie einen Desktop- oder Mixed-Task-Host haben und über 16 GB schnelles RAM verfügen, schauen Sie hier: zRam
quelle
Es ist nicht möglich festzustellen, ob Sie Auslagerungsspeicher benötigen oder nicht, ob der einzige Parameter, den wir kennen, die Größe des installierten Arbeitsspeichers ist.
In jedem Fall gibt es ein weit verbreitetes Missverständnis, dass ein Swap Space die Systemleistung negativ beeinflusst. Das ist falsch. Solange Sie über genügend RAM verfügen, wirkt sich ein Swap-Bereich unabhängig von seiner Größe überhaupt nicht negativ auf die Leistung aus. Die Leistung wird dadurch beeinträchtigt, dass der Arbeitsspeicher knapp ist und der Auslagerungsspeicher effektiv genutzt wird.
Fall 1: Wenn Sie keinen Auslagerungsspeicher haben und nicht genügend RAM zur Verfügung stehen, wählt der Linux-Kernel einen oder mehrere Prozesse aus, die er für gute Kandidaten hält, und beendet sie.
Fall 2: Wenn Sie einen Auslagerungsspeicher haben und nicht mehr über genügend RAM verfügen, wählt der Kernel weniger genutzte Speicherseiten aus und legt sie im Auslagerungsbereich ab, um RAM freizugeben. Dadurch wird das System verlangsamt, Ihre Anwendungen sind jedoch nicht anderweitig betroffen.
Ich bevorzuge immer Fall 2, da es mir unangenehm ist, Teile oder meine gesamte Arbeit zu verlieren, weil der Kernel meint, meine Anwendungen sind es wert, getötet zu werden. Darüber hinaus sollte es angesichts der aktuellen Größe einer durchschnittlichen Festplatte im TB-Bereich kein Problem sein, ein paar Prozent für den Austausch zu reservieren.
quelle
Meine Regel, Swap in einem beliebigen System anzuwenden, lautet, die Antwort darauf zu haben:
Wenn ich eine Antwort auf diese Information bekomme, passe ich das System entsprechend an. In früheren Jahren habe ich die Faustregel von Sun Microsystem angewendet. Bis zu 16 GB doppelt so viel RAM für SWAP, von 16 GB bis zur gleichen Menge. Wenn Sie jedoch über genügend RAM verfügen und Ihre Apps SWAP nicht zwangsweise verwenden, können Sie auf Swap verzichten. Bei Bedarf müssen Sie lediglich eine neue Festplatte oder ein neues LUN einlegen und den SWAP konfigurieren. Die Sun-Regel galt hauptsächlich, weil unter Solaris im Falle einer "Kernel-Panik" der Speicher vollständig gesichert und für die weitere Analyse ausgetauscht wurde.
quelle
Swap wird benötigt, wenn Sie nicht genug RAM haben , um alle Ihre Programme auszuführen.
Sie sagen, Sie tun nichts, was viel RAM erfordert. Sie haben also genügend RAM.
Dann brauchen Sie keinen Swap Space.
Aber wenn Sie glauben, dass Ihre Programme irgendwann mehr als die Hälfte (oder zwei Drittel) Ihres Arbeitsspeichers (Faustregel) belegen, lesen Sie bitte den anderen "Pro-Swap" "Antworten. Sie werden es nicht brauchen , tauschen, aber es könnte verbessern die Leistung Ihres Systems.
quelle
Die kurze Antwort:
Ja, Sie müssen immer tauschen, nur in dem unwahrscheinlichen Fall, dass sich eine Anwendung nicht um die Zuordnung des Arbeitsspeichers kümmert, sondern den virtuellen Arbeitsspeicher direkt zuordnet.
Stellen Sie Ihre Auslagerungsdatei auf:
RAM+round(sqrt(RAM))
Wenn Sie den Winterschlaf verwendenround(sqrt(RAM))
wenn du nichtSetzen Sie Ihre
swappiness
auf einem Desktop auf 10, aber nicht auf einem Server!Die lange Antwort:
In der Vergangenheit:
Die Faustregel, die in den letzten 25 Jahren angewendet wurde, war ein Minimum von 1xRAM und ein Maximum von 2xRAM .
Dieses Minimum wurde in der Steinzeit zurückgesetzt,
als ich noch ein Teenager war und Dinosaurier die Erde durchstreiften, undweil RAM einfach zu teuer war und man diesen Swap-Platz unbedingt brauchte, um etwas erreichen zu können.Das Maximum wurde zu diesem Zeitpunkt aufgrund sinkender Renditen festgelegt: Es ist einfach zu langsam, um so viel Speicher austauschen zu müssen, da der Festplattenzugriff um den Faktor 1000 langsamer ist als der Arbeitsspeicher: Gut im Notfall, aber nicht wirklich gut für den täglichen Gebrauch! Zu der Zeit, als Sie keinen Swap-Speicher mehr hatten, war es an der Zeit, mehr RAM hinzuzufügen! (was heute noch gilt).
In der Gegenwart:
Wenn Sie den Ruhezustand nicht verwenden und mehr als 1 GB Arbeitsspeicher zur Verfügung stehen, lautet die neue Faustregel,
round(sqrt(RAM))
woRAM
sich offensichtlich Ihre RAM-Größe in GB befindet.Wenn Sie den Ruhezustand verwenden, müssen Sie in der Lage sein, den gesamten Arbeitsspeicher + den bereits ausgelagerten Arbeitsspeicher auf die Festplatte zu übertragen. Die Formel lautet daher:
RAM+round(sqrt(RAM))
Die Regel zur Verringerung der Renditen gilt auch heute noch für das Maximum. Wenn Sie jedoch nicht Ihre tatsächliche Nutzung testen, ist die Verwendung von 2xRAM nur eine Verschwendung von Speicherplatz. Verwenden Sie also nicht das Maximum, es sei denn, Sie haben mit den anderen Methoden keinen ausreichenden Auslagerungsspeicher mehr .
All dies zusammen ergibt die folgende Tabelle: (Die letzten 3 Spalten geben den Swap Space an.)
Das Obige ist nur eine Faustregel; Es ist nicht das Gesetz der Schwerkraft!
Sie können diese Regel (im Gegensatz zum Gravitationsgesetz) brechen, wenn Ihr spezieller Anwendungsfall anders ist!
Pro-Tipp: Weisen Sie SWAP immer am Anfang einer Festplatte zu, da sich die Köpfe auf der Innenseite der Festplatte weniger bewegen müssen.
Ja: Auf SSDs spielt es keine Rolle mehr, wo Sie den Swap-Bereich finden, da sie Quantentunneling anstelle von Moving Heads verwenden und moderne SSDs alle ihre Speicherzellen (auch den nicht zugewiesenen Speicherplatz) verwenden, um eine Verschlechterung der Quantenzahl zu verhindern.
So testen Sie, ob sich Ihre Swap-Nutzung von der "generischen" Regel unterscheidet:
Führen Sie einfach Folgendes aus:
Daraufhin erhalten Sie eine Liste aller laufenden Programme, die ausgelagert wurden (wobei das Programm den meisten Auslagerungsspeicherplatz oben verwendet).
Wenn Sie mehr als ein paar KB verwenden: Ändern Sie die Größe auf mehr als das Minimum, andernfalls stören Sie nicht ...
Wenn Sie auf einem Server sind, hören Sie jetzt auf zu lesen: Sie sind fertig!
Wenn Sie sich auf einem Desktop- / Laptop-Client (nicht auf einem Server) befinden, möchten Sie, dass Ihre GUI so schnell wie möglich reagiert und nur dann ausgetauscht wird, wenn dies wirklich erforderlich ist . Ubuntu wurde optimierte früh für die Server - Einsatz zu tauschen, aber auf Ihrem Client wollen Bearbeitung Sie das riesige 250 Mega-Pixel - Rohbild in
gimp
speedy zu sein , so dass Ihre Einstellungswappiness
zu 10 den Kernel zu verhindern , zu früh Swapping, während sichergestellt wird es doesn‘ t zu spät tauschen:und füge hinzu:
Speichern Sie die Datei am Ende der Datei ( Ctrl+ XY+ Enterin nano) und führen Sie Folgendes aus:
Um den Parameter neu zu laden oder um der alten Zeit willen, nimm den Window $ -Ansatz und starte neu ... :-)
quelle
Kompromisslösung: Es kommt auf die Bedeutung von "sollte" an.
Haben Sie benötigen eine Swap - Partition in dem Sinne , dass etwas Schlimmes passieren wird , wenn Sie nicht eine unter den Betriebsbedingungen können als Sie beschreiben? Nein.
Es ist ratsam , eine Swap-Partition zu haben, für den Fall, dass Sie versehentlich eine Armee von Memory-Schweinen hervorbringen, damit Sie die Chance haben, sie zu töten, bevor der OOM-Killer einsetzt? Ja.
Wenn Ihr physischer Arbeitsspeicher die Datenspeicherauslastung aller Programme, die Sie zu jeder Zeit gleichzeitig ausführen, "erheblich" überschreitet, hat ein Swap keinen Leistungsvorteil. Wenn der Wert den Wert überschreitet, jedoch nicht "erheblich", kann das Betriebssystem einen Leistungsvorteil erzielen, wenn es in der Lage ist, selten verwendeten Speicher auszutauschen, um häufiger zugegriffene Dateidaten im Arbeitsspeicher zu behalten.
Zusammenfassend ist es toll, dass Sie 16 GB RAM haben. Aber wenn Sie auch eine 1-TB-Festplatte haben, können Sie nicht 16 GB für den Austausch reservieren? Es ist nur 1,5% der Festplatte.
quelle