Sollten Sie die Auslagerungsdatei mit SSD deaktivieren?


26

Ich habe diese Frage gelesen und sie enthält viele großartige Informationen.

Vorausgesetzt, Sie haben mehr als genug RAM, sollte die Auslagerungsdatei auf der SSD deaktiviert werden, um die Lebensdauer zu verlängern. Ich weiß, dass Sie den Core-Dump beim Absturz verlieren würden, aber nicht viele Leute benötigen diese Informationen.

Meines Erachtens kann es ohne Auslagerungsdatei dazu kommen, dass Sie die Grenze Ihres Arbeitsspeichers erreichen und die Festplatte beschädigen. Bei SSDs gibt es kein Konzept für Thrashing, die Lesevorgänge sind schnell.

Was denkt ihr?


Ich würde es auf lassen. Moderne SSDs sollten die Distanz überdauern. Siehe: storagesearch.com/ssdmyths-endurance.html .
Matt

1
Wenn Ihre Arbeitslast für Ihren Server geeignet ist, sollten Sie sowieso kaum Paging auf der Festplatte durchführen (also nur Paging, wo es von Vorteil ist). Alleine im letzten Monat haben meine Server im Durchschnitt nur etwa 100 Seiten im gesamten Monat ein- und ausgegeben.
Matthew Ife

Antworten:


22

Vorausgesetzt, Sie haben mehr als genug RAM, sollte die Auslagerungsdatei auf der SSD deaktiviert werden, um die Lebensdauer zu verlängern. Ich weiß, dass Sie den Core-Dump beim Absturz verlieren würden, aber nicht viele Leute benötigen diese Informationen

Das klingt eher nach vorzeitiger Optimierung. Sie haben nicht besprochen, welche SSDs Sie verwenden möchten, und ohne Ihre Serverauslastung und Ihr geplantes SSD-Datenblatt zu betrachten, können Sie keine Vorstellung davon haben, welche Auswirkungen eine Auslagerungsdatei auf die Lebensdauer Ihrer SSD hat.

Es gibt auch eine große Menge an Fehlinformationen, sowohl im größeren Internet als auch hier bei Server Fault, über SSDs, die unter einer schlechten Lebensdauer leiden. Frühere Modell-SSDs hatten möglicherweise Probleme, und USB-Flash-Laufwerke verschlechtern sich allmählich, aber SSDs der Enterprise-Klasse verfügen über deutlich bessere Algorithmen zur Abnutzungskorrektur und einige verwenden Ersatz-Flashs, um die Leistung und den Verschleiß zu verbessern.

Intel X25-E-Laufwerke geben beispielsweise eine Schreibdauer von 1 Petabyte zufälliger Schreibvorgänge für das 32-GB-Laufwerk an. Wenn Sie die Schreibschnittstelle (200 MB / s) ohne Unterbrechung mit Überschreiben auslasten, werden Sie nach meiner Schätzung etwa 58 Tage durchhalten. Dabei werden ungefähr 17 TB Daten pro Tag auf dieses Laufwerk geschrieben.

Die typische Serverauslastung auf dem OS-Laufwerk wird sehr viel geringer sein, selbst wenn Sie eine Auslagerungsdatei haben. Nennen Sie es 50 GB pro Tag. Wenn die 1-PB-Zahl korrekt ist (und ich weiß, dass es sich um eine Durchschnittszahl handelt, was später noch genauer besprochen wird), dann liegt sie immer noch irgendwo nördlich von 50 Jahren.

Diese Zahlen scheinen natürlich absurd hoch zu sein. Schauen wir uns also die tatsächlichen Zahlen an, die Intel für die erwartete Lebensdauer von Laufwerken anführt . Intel war froh, die MLC-Laufwerke (Nicht-Enterprise-Laufwerke) fünf Jahre lang für das tägliche Schreiben von 100 GB Daten qualifizieren zu können. Das Standardverständnis von SLC vs. MLC-Flash besagt, dass SLC-Flash etwa 10x länger als MLC dauert (der obige Link zeigt dies auch in einer Grafik).

Die Wahrheit wird sich natürlich mit der Zeit bestätigen - wir werden entweder frühzeitig feststellen, dass die Antriebe ausfallen, oder wir werden es nicht tun. Die Zahlen hinter den Laufwerken tragen jedoch dazu bei, dass die Lebensdauer der Laufwerke bei SSDs mit guter Qualität überhaupt kein Problem darstellt .

Wenn Sie eine MLC-SSD verwenden, haben Sie vielleicht Recht, sich Sorgen zu machen. Bedenken Sie jedoch, dass Intel, wenn es sich freut, das Laufwerk fünf Jahre lang mit 100 GB / Tag zu bewerten, dies für zehn Jahre im Wesentlichen immer noch 50 GB / Tag entspricht. Zurück zu meinem ursprünglichen Standpunkt: Sie müssen immer noch wissen, welche Art von tatsächlicher Arbeitslast Sie auf dem Laufwerk ausführen werden.

Persönlich würde ich dringend raten, eine MLC-SSD nicht in einer Produktionsserverumgebung zu verwenden. Wenn eine anständige SLC-SSD zu teuer ist, bleiben Sie zunächst bei rotierenden Festplatten.

(Wenn Sie die Zahlen auf "100 GB pro Tag für 50 Jahre" setzen, was bedeutet, dass "SLC 10x länger hält als MLC", scheint Intel zu sagen, dass das 32-GB-Laufwerk tatsächlich eine Gesamtschreiblebensdauer hat von näher an 2 PB Daten, nicht das in der Produktspezifikation angegebene 1 PB. Auch wenn ich nur dem kleineren dieser beiden Werte zutraue, froh zu sein, dass meine X25-E-Laufwerke deutlich länger als 10 Jahre halten sollten.)


Ich denke, ich werde meine Aussage zur Verwendung von MLC-SSDs überarbeiten: Sie scheinen gut genug für den Einsatz in Unternehmen zu sein. Ich habe gehört, dass ein großer Anbieter von SLC-SSDs seine SLC-Produktreihe durch MLC-Flash und intelligentere Controller ersetzt.
Daniel Lawson

15

Darüber hinaus ist die Langlebigkeit wahrscheinlich kein Problem, wie Daniel Lawson erwähnt, und das Feedback des MS-Teams selbst (siehe unten) sollte berücksichtigt werden

  1. Die Auslagerungsdatei wird ohnehin nur bei Bedarf verwendet
  2. Wenn die Auslagerungsdatei wird wird verwendet, wird es auf der SSD vs einer Spinning - Festplatte mit macht einen enormen Unterschied

Soll die Auslagerungsdatei auf SSDs abgelegt werden?

Ja. Bei den meisten Auslagerungsoperationen handelt es sich um kleine zufällige Lesevorgänge oder größere sequenzielle Schreibvorgänge, die beide von SSDs gut verarbeitet werden.

Wenn wir Telemetriedaten aus Tausenden von Spuren betrachten und uns auf das Lesen und Schreiben von Auslagerungsdateien konzentrieren, stellen wir fest, dass dies der Fall ist

  • Pagefile.sys liest mehr als pagefile.sys schreibt etwa 40 zu 1
  • Pagefile.sys-Lesegrößen sind in der Regel recht klein, mit 67% weniger als oder gleich 4 KB und 88% weniger als 16 KB.
  • Pagefile.sys-Schreibvorgänge sind relativ umfangreich, wobei 62% 128 KB oder mehr und 45% genau 1 MB groß sind. Angesichts der typischen Referenzmuster für Auslagerungsdateien und der günstigen Leistungsmerkmale, die SSDs für diese Muster aufweisen, gibt es tatsächlich nur wenige Dateien, die besser als die Auslagerungsdatei auf einer SSD sind.

Support und Fragen und Antworten zu Solid-State-Laufwerken (MSDN)


9

Anstatt die Auslagerungsdatei vollständig zu deaktivieren, kann es nützlich sein, das Betriebssystem anzuweisen, sie nicht zu verwenden (z. B. sysctl vm.swappiness=0).

Das Betriebssystem vermeidet es, es zu verwenden, sofern dies nicht erforderlich ist, und speichert die nicht benötigten Schreibvorgänge auf der SSD.


4
Das ist großartig. Gibt es so einen Tweak für Windows?
Pyrolistischer

Ich bin mir nicht sicher, aber Sie können dies möglicherweise emulieren, indem Sie die Größe der Auslagerungsdatei auf das Minimum (2 MB) festlegen und zulassen, dass sie wächst.
MikeyB

5

Ich würde die Auslagerungsdatei immer aktiviert lassen. Bestimmte Teile Ihres Betriebssystems oder Ihrer Apps sind möglicherweise so geschrieben, dass erwartet wird , dass sie vorhanden sind, und können sich daher schlecht verhalten, wenn es keine gibt.

Trotzdem habe ich Windows (XP) in der Vergangenheit ohne Auslagerungsdatei ausgeführt, und es war mit allem, was ich dagegen unternommen habe, vollkommen zufrieden. Es gab immer den Zweifel, dass etwas kommen wird, das es nicht mag.

Eine Option könnte sein, es wirklich klein einzustellen.


Ich glaube nicht, dass Apps erkennen können, ob sie RAM oder Swap verwenden. Wie könnte das also von Bedeutung sein?
Pyrolistical

Das Betriebssystem wurde so eingestellt, dass virtueller Speicher aktiviert ist. Sie haben ein Problem mit SSDs, oder ich nehme an, Sie haben Recht - ich habe gelesen, dass es bei ihnen ein Problem mit wiederholten Schreibvorgängen gibt, und der virtuelle Speicher tut dies mit Sicherheit. Können Sie die Auslagerungsdatei / den Auslagerungsspeicher nicht auf einer richtigen Festplatte ablegen? (scheint natürlich nicht intuitiv zu sein ...)
Kyle Hodgson

Warum würde ein Betriebssystem davon ausgehen, dass es eine Auslagerungsdatei gibt? Linux sicherlich nicht, und ich habe noch nie Grund zu der Annahme gesehen, dass Windows dies auch tut
Mikeage

2
Hier ist ein Grund von Windows zu glauben ist: blogs.msdn.com/ericlippert/archive/2009/06/08/...
dmo

3

Dies ist keine direkte Reaktion auf das OP, aber ich wollte einen fehlerhaften Eindruck in den obigen Antworten / Kommentaren von Ronald und Daniel korrigieren. (Ich bin neu, habe also nicht genug Punkte, um einen Kommentar abzugeben.)

TRIM ist in der Tat das Größte, was Sie tun können, um die Lebensdauer einer SSD zu verlängern. Hier ist der Grund: SSDs "sammeln" in regelmäßigen Abständen Datenmüll - kopieren Sie die (fragmentierten) Daten aus teilweise leeren Löschblöcken und schreiben Sie sie zusammenhängend in einen neu gelöschten Block.

Die Adressen werden neu zugeordnet, damit der Host dies nicht zu bemerken braucht. Diese zusätzliche Schreibaktivität, die nicht direkt mit Host-Schreibvorgängen verbunden ist, wird als "Schreibverstärkung" bezeichnet. Im schlimmsten Fall einer vollständig vollen SSD mit wenig überlastetem (verstecktem) Speicherplatz kann die Schreibverstärkung leicht im Bereich von 500% - 700% der Host-Schreibrate liegen!

Während der Garbage Collection muss die SSD keine ungültigen (überschriebenen oder beschnittenen) Seiten kopieren und neu schreiben, wodurch möglicherweise viel Arbeit und Schreibaktivität gespart wird. Wenn das Dateisystem eine große Datei löscht, das Laufwerk jedoch nicht über TRIM informiert, kopiert das Laufwerk die gelöschten Daten auf unbestimmte Zeit und verschwendet Schreibvorgänge (oder bis diese Blockadressen einer anderen Datei zugewiesen werden, die könnte eine lange Zeit sein).

Zusammenfassend ist TRIM sowohl für die Langlebigkeit als auch für die Leistung sehr wichtig.


2

Ich habe dies in dem anderen Beitrag angegeben, den Sie verlinkt haben, aber wir betreiben einen sehr normalen Server ohne Auslagerungsdatei, und alles hier scheint in Ordnung zu sein. In der Tat scheint es schneller ohne. Wir haben 8 GB RAM und ich würde sagen, Sie sollten Ihre Entscheidung basierend darauf treffen, ob Sie über viel RAM verfügen, und nicht darauf, ob es sich bei Ihrer Festplatte um eine SSD handelt oder nicht. Obwohl ich verstehen kann, dass ich das Leben retten will, indem ich nicht unnötig schreibe.


2

Verwenden Sie einfach eine zweite Festplatte für den virtuellen Speicher.


1
Ich denke, der Punkt war, die Auslagerungsleistung durch die Verwendung einer SSD zu verbessern, wenn das Schreiben der Auslagerungsdatei auf eine SSD die verfügbaren Schreibvorgänge nicht durchbrennen würde. Die Verwendung einer normalen Festplatte würde nicht die Leistungsvorteile bieten, die eine SSD bieten würde.
jrista

Auf den meisten Laptops nicht möglich.
Brian Knoblauch

0

Ich verwende seit mehr als einem Jahr einen Laptop mit 8 GB RAM, SSD-Einzellaufwerk und keiner Auslagerungsdatei. Keine Probleme. Ich stieß auf ein Spiel, für das die Auslagerungsdatei erforderlich war, besuchte die Software-Website und erhielt den Befehl run, um es zu deaktivieren. Das Problem wurde behoben.

Mein Laptop ist vier Jahre alt. Alt, aber schneller als einige neuere Desktops. Speicherverluste, auch bekannt als SWAP-Datei, sind seit der Erstellung der Technik das Problem bei Windows-Betriebssystemen. Leider sind Linux-Entwickler in seine Fußstapfen getreten. Je weniger Software Sie im Hintergrund ausführen, desto besser (insbesondere wenn es sich um Microsoft handelt).


-1

Ich würde sagen, tauschen Sie nicht, wenn Sie damit durchkommen können. Oder vielleicht den Swappiness ganz nach unten drehen. Es ist zwar schwierig, einen zu verschleißen (wie lange würde es dauern, 100.000 Mal auf das gesamte Laufwerk zu schreiben, bei der maximalen Bandbreite, die Sie haben?), Wenn Sie ihn nicht benötigen.

Der Ruhezustand (Suspend to Disk) funktioniert jedoch nicht ohne eine Art Swap.

Früher gab es ein merkwürdiges Verhalten ohne Auslagerungsmöglichkeit (wie bei einer 50-MB-RAM-Disk, die sich als Gewinn herausstellen würde), aber das wurde letzten Sommer gepatcht (oder war es 2007?), Daher sollte ein aktuelles Betriebssystem in Ordnung sein.

Jetzt brauchen wir nur noch Hardware, die den Löschbefehl unterstützt (Linux hat ihn seit Monaten unterstützt), und das Leben auf der SSD wird nur noch schwer.


Mit dem Befehl TRIM wird die Lebensdauer einer SSD nicht verlängert. Es wird lediglich ein Blocklöschvorgang ausgeführt, um fehlerhafte Blöcke außerhalb des Bandes zu bereinigen. Normalerweise gibt eine SSD beim Überschreiben des Blocks den Löschvorgang aus. Das Endergebnis ist, dass Sie mit TRIM möglicherweise eine bessere Leistung erzielen, die SSD jedoch weiterhin die gleiche Anzahl von Lösch- und Schreibbefehlen ausgibt.
Daniel Lawson

Sehr wahr, es wird nur dazu führen, dass sie besser abschneiden.
Ronald Pottol

Daniel (und Ronald): Wenn die SSD dank TRIM weiß, dass ein Abschnitt der "Festplatte" freigegeben oder auf Null gesetzt wurde, wird er wahrscheinlich nicht kopiert, wenn Schreibabstufungen durchgeführt oder kleine Schreibvorgänge verwaltet werden. Was bedeutet weniger Schreibvorgänge und eine längere Lebensdauer, nein? Einige Quellen , die mir zustimmen , dass solide scheinen: atpinc.com/Memory-insider/... superuser.com/questions/1063744/... wiki.archlinux.org/index.php/Solid_state_drive#TRIM - große Ressource für Grenzfälle usw.
Matthew Elvey

-2

Ich hatte zwei SSDs der Enterprise-Klasse, die sehr früh ausgebrannt waren (also innerhalb der Garantiezeit). Ich denke, der Grund war starkes Tauschen aufgrund von Thrashing. Ich stellte oft fest, dass ich nicht benötigte Prozesse hatte, in denen Dämonen mit Speicherlecks ausgeführt wurden, sodass es fast ununterbrochen zu einer starken Auslagerungsaktivität kam. Ich laufe iostat -n9 -w 10von Zeit zu Zeit im Hintergrund und stelle fest, dass es häufig zu ständiger Festplattenaktivität kommt. Auch die Aktivität des Kernelprozesses (Swap) wurde als Quelle der meisten E / A protokolliert. Ich erinnere mich an einen Daemon, der monatelang einen Speicherverlust hatte und regelmäßig getötet werden musste. Ich behebe häufig nur dann Probleme, wenn das System sehr langsam ist. Daher dauerte das Thrashing oft lange, bevor ich mir die Zeit nahm, den Daemon neu zu starten. Und länger, bis das Leck behoben ist.

Während das Deaktivieren des Austauschs meine Aufmerksamkeit auf das Dreschen lenken würde, so würde das Problem behoben werden, bevor ein größerer Verschleiß an der SSD aufgetreten ist. Ein anständiges Überwachungs- / Alarmierungs-Tool wäre besser.

Ein Vorbehalt , dass viele der Antworten nicht anerkennen, dass , wenn ein Server Dreschen eine SSD kontinuierlich, wird es ziemlich schnell-Burnouts innerhalb eines Jahres ausbrennen in dieser Situation ist üblich. Klassisches Thrashing tritt in der Regel auf, wenn das Auslagern von virtuellem Speicher so umfangreich ist, dass das (Auslagerungs-) Laufwerk meistens ausgelastet ist - und zwar innerhalb einer Größenordnung seiner maximalen E / A-Bandbreite. Außerdem wartet mindestens ein Prozess auf eine auslagerungsbezogene E / A-Auslagerung. O, um die meiste Zeit abzuschließen, in der sich das System in diesem Zustand befindet. Die anderen Antworten gehen davon aus, dass das System nichtverprügeln, zumindest nicht auf klassische Weise; oder sich auf ein Missverständnis dessen verlassen, was Thrashing ist. Und diese falsche Annahme, trotz anderer genauer Daten, führt zu falschen Antworten in Bezug auf WARUM-Paging, selbst wenn eine SSD der einzig mögliche Speicherort für die Auslagerungsdatei ist, sollte am besten aktiviert bleiben.


-3

Deaktivieren Sie die Auslagerungsdatei auf der Festplatte, wenn Sie über viel ungenutzten Speicher verfügen. Einige alte Programme erfordern eine Auslagerungsdatei-Funktionalität und für diese Windows wird eine kleine Auslagerungsdatei-Funktionalität im Speicher erstellt.


2
Ich könnte dir nicht mehr widersprechen. Schauen Sie sich die akzeptierte Antwort auf die Frage an, auf die dieses Poster verweist.
Chopper3

2
Windows wird eine Auslagerungsdatei im Speicher erstellen? Wie ist das?
Mark Sowul
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.