Frage Irgendwelche Vorteile oder Nachteile beim Entfernen einer Auslagerungsdatei auf einem 8-GB-RAM-Gerät?


Ich benutze Windows 7 auf einem Dual-Core, x64 AMD mit 8 GB RAM.

Brauche ich sogar eine Auslagerungsdatei?

Wird das Entfernen davon helfen oder die Leistung beeinträchtigen?

Würde es einen Unterschied machen, ob es sich um einen Server oder einen Desktop handelt?

Macht Windows 7 im Vergleich zu Windows 2008 einen Unterschied mit einer Auslagerungsdatei?


214
2018-06-10 19:50


Ursprung




Antworten:


TL; DR-Version: Lassen Sie Windows Ihre Speicher- / Auslagerungsdateieinstellungen verarbeiten. Die Menschen bei MS haben einen ausgegeben Menge mehr Stunden über diese Themen nachzudenken als die meisten von uns Systemadministratoren.

Viele Menschen scheinen davon auszugehen, dass Windows bei Bedarf Daten in die Auslagerungsdatei überträgt. EG: Etwas möchte viel Speicher, und es gibt nicht genug RAM, um die Notwendigkeit zu erfüllen, so dass Windows in letzter Minute damit beginnt, Daten aus dem RAM auf die Festplatte zu schreiben, um RAM für die neuen Anforderungen freizumachen.

Das ist falsch. Unter der Haube tut sich mehr. Im Allgemeinen behält Windows ein Hintergrund speichernDas bedeutet, dass es alles, was sich im Speicher befindet, auch irgendwo auf der Festplatte sehen möchte. Jetzt, wenn etwas kommt und viel Speicher benötigt, kann Windows RAM sehr schnell löschen, weil diese Daten sind bereits auf der Festplatte, bereit, zurück in das RAM ausgelagert zu werden, wenn es aufgerufen wird. Man kann also sagen, dass vieles von dem, was in der Auslagerungsdatei ist, ist ebenfalls im RAM; die Daten waren präventiv in Auslagerungsdatei platziert, um zu beschleunigen Neu Speicherzuordnungsanforderungen.

Die Beschreibung der spezifischen Mechanismen würde viele Seiten erfordern (siehe Kapitel 7 von Windows Internaund beachte, dass a neue Edition wird bald verfügbar sein), aber es gibt ein paar nette Dinge zu beachten. Erstens befindet sich viel von dem, was sich im RAM befindet, bereits auf der Festplatte - Programmcode, der beispielsweise von einer ausführbaren Datei oder einer DLL abgerufen wird. Dies muss nicht in die Auslagerungsdatei geschrieben werden. Windows kann einfach verfolgen, woher die Bits ursprünglich stammen. Zweitens verfolgt Windows, welche Daten im RAM am häufigsten verwendet werden, und löscht so die am längsten laufenden Daten aus dem RAM, ohne darauf zugegriffen zu haben.

Das vollständige Entfernen von Auslagerungsdateien kann zu mehr Festplatten-Thrashing führen. Stellen Sie sich ein einfaches Szenario vor, in dem eine App gestartet wird und 80% des vorhandenen Arbeitsspeichers erfordert. Dies würde laufenden ausführbaren Code aus dem RAM - möglicherweise sogar OS-Code - zwingen. Jedes Mal, wenn diese anderen Anwendungen - oder das Betriebssystem selbst (!!) Zugriff auf diese Daten benötigen - muss das Betriebssystem sie von der Sicherung des Speichers auf der Festplatte aus einlagern, was zu vielem Drashen führt. Da keine Auslagerungsdatei als Backing-Speicher für transiente Daten dienen soll, können nur ausführbare Dateien und DLLs ausgelagert werden.

Es gibt natürlich viele Ressourcen / Nutzungsszenarien. Es ist nicht ausgeschlossen, dass Sie eines der Szenarien haben, in dem die Entfernung der Auslagerungsdatei keine nachteiligen Auswirkungen hätte, aber diese sind die Minderheit. In den meisten Fällen führt das Entfernen oder Reduzieren von Auslagerungsdatei zu einer reduzierten Leistung unter Spitzen-Ressourcenauslastungsszenarien.

Einige Referenzen:

dmo notiert ein kürzlich Eric Lippert Beitrag das hilft beim Verständnis des virtuellen Speichers (obwohl es weniger mit der Frage verbunden ist). Ich stelle es hier hin, weil ich vermute, dass manche Leute nicht zu anderen Antworten runterscrollen werden - aber wenn Sie es wertvoll finden, schulden Sie es dmo eine Stimme, also gebrauche der Link um dorthin zu kommen!


301
2018-06-10 21:15



Für Jeff und Joel: Es reimt sich auf "Enten" - quux
Auf Solaris war / ist es noch mehr involviert. Die Auslagerungsdatei wird in einer RAM-Disk wie tmpfs gespiegelt, so dass der Speicher immer fast voll ist - aber es ist offensichtlich beweisbar, dass dies die optimale Strategie ist. - Martin Beckett
Ich habe lange geglaubt, dass ich, statt Windows zu erlauben, meine Page Dateigröße zu verwalten, sollte ich es auf einen festen Betrag setzen (z. B. min 2GB, max 2GB), da es zu Fragmentierungsproblemen führen kann. Ist das gut zu denken, oder sollte ich Ihrer ersten Zeile folgen und Windows alles behandeln lassen? - John Fouhy
@Mehrdad: Weil du nicht 50% deines RAMs frei halten willst. Sicher, Sie könnten das tun, aber Sie würden 50% des physischen RAM verlieren, das Sie als Festplattencache für aktive Daten verwenden könnten. Free RAM ist ein Zeichen von Ineffizienz, es ist wie FedEx Trucks in einem Depot statt auf der Straße. Es bedeutet, du bist nicht So viel Fracht wie möglich transportieren, weil Sie zu viel Zeit mit dem Be- und Entladen verbringen. - David Schwartz
@Mehrdad: Das Problem ist, dass es keine Auslagerungsdatei gibt Muss im RAM gehalten werden, obwohl es wahrscheinlich niemals zugegriffen wird. Betrachten Sie beispielsweise den Speicher, der von einem Prozess zugewiesen wurde, der beim Systemstart gestartet wurde, aber einen Dienst anbietet, der für Tage nicht verwendet wird. Das System kann nicht beweisen, dass auf die Daten nicht zugegriffen wird, und es hat keinen anderen Platz als RAM, um es zu behalten. Daher schrumpft der Plattencache, während Daten im RAM gespeichert werden, auf die seit Tagen nicht zugegriffen wurde. - David Schwartz


Eric Lippert schrieb kürzlich eine Blog-Eintrag Beschreiben, wie Windows Speicher verwaltet. Kurz gesagt, das Windows-Speichermodell kann als ein Plattenspeicher angesehen werden, in dem RAM als leistungssteigernder Cache fungiert.


80
2018-06-24 19:47





Wie ich aus anderen Antworten ersehe, bin ich die Einzige, die die Seitendatei deaktiviert und sie nie wieder geändert hat. Großartig :-)

Sowohl zu Hause als auch bei der Arbeit habe ich Vista 64-bit mit 8 GB RAM. Bei beiden ist die Seitendatei deaktiviert. Bei der Arbeit ist es nicht ungewöhnlich für mich, einige wenige Instanzen von Visual Studio 2008, Virtual PC mit Windows XP, 2 Instanzen von SQL Server und Internet Explorer 8 mit vielen zusammenarbeitenden Tabs zu haben. Ich erreiche selten 80% der Erinnerung.

Ich benutze auch jeden Tag Hybriden Schlaf (Winterschlaf mit Schlaf) ohne Probleme.

Ich begann damit zu experimentieren, als ich Windows XP mit 2 GB RAM hatte und ich sah wirklich den Unterschied. Klassisches Beispiel war, wenn Symbole in der Systemsteuerung nicht mehr nacheinander angezeigt wurden, sondern alle auf einmal. Auch die Startzeit von Firefox / Thunderbird wurde drastisch erhöht. Alles begann sofort nach dem Klicken auf etwas zu arbeiten. Leider waren 2 GB zu klein für meine Anwendungen (Visual Studio 2008, Virtual PC und SQL Server), also habe ich es wieder aktiviert.

Aber jetzt mit 8 GB will ich nie wieder zurück gehen und die Seitendatei aktivieren.

Für diejenigen, die über extreme Fälle sagen, nehmen Sie diesen aus meinen Windows XP Zeiten.
Wenn Sie versuchen, große Pivot-Tabelle in Excel aus einer SQL-Abfrage zu laden, erhöht Excel 2000 seine Speicherauslastung ziemlich schnell.
Wenn Sie die Auslagerungsdatei deaktiviert haben - Sie warten ein wenig und dann wird Excel in die Luft gehen und das System wird den gesamten Arbeitsspeicher löschen.
Wenn Sie die Auslagerungsdatei aktiviert haben - Sie warten einige Zeit und wenn Sie bemerken, dass etwas nicht stimmt, können Sie fast nichts mit Ihrem System machen. Ihre Festplatte funktioniert wie die Hölle und selbst wenn Sie es irgendwie schaffen, Task-Manager (nach ein paar Minuten des Wartens) zu starten und zu töten excel.exe Sie müssen eine Minute warten, bis das System alles aus der Auslagerungsdatei zurücklädt.
Wie ich später gesehen habe, behandelt Excel 2003 die gleiche Pivot-Tabelle ohne Probleme mit der Auslagerungsdatei deaktiviert - es war also kein "zu großes Dataset-Problem".

Meiner Meinung nach schützt eine deaktivierte Auslagerungsdatei Sie sogar manchmal vor schlecht geschriebenen Anwendungen.

Kurz gesagt: Wenn Sie Ihre Speicherbelegung kennen, können Sie sie sicher deaktivieren.

Bearbeiten: Ich möchte nur hinzufügen, dass ich Windows Vista SP2 ohne Probleme installiert habe.


47
2018-06-28 21:10



Ich habe meine Auslagerungsdatei deaktiviert und bedauere sie in dem Moment, in dem ich meine Erinnerung wirklich benutzt habe. Sei also glücklich, dass du mehr Speicher hast, als du brauchst. - Sam
+1, "ich auch" :-). Die gleiche Geschichte - 8GB Speicher, Vista x64, Visual Studio mit ReSharper + SQL Server Express + IIS + 1-2 virtuelle Maschinen (jeweils mit 1500 MB Speicher) + Haufen von Dienstprogrammen - hatte noch nie ein Problem. - Milan Gardian
Ich liebe es, wie jeder sagt: "Microsoft hat viele Stunden damit verbracht, über dieses Problem nachzudenken, also leg dich nicht damit an", aber ignoriere die realen Erfahrungen vollständig. Ich habe die Auslagerungsdatei seit XP deaktiviert und habe es nie bereut. Es ist wie der Computer eine Injektion von genial. - AngryHacker
Es ist ziemlich üblich, das Paging auf Servern, die iSCSI booten, zu deaktivieren. Das Paging über das SAN würde sich langsam bemerkbar machen. Sie müssen nur wirklich auf Ihre Speicherauslastung achten und sich vom Maximum fernhalten. - Chris S
-1 Ich sehe keine Referenzen in dieser Antwort. Ich hatte tatsächlich einen Systemabsturz, weil die Auslagerungsdatei deaktiviert war und mein Poolspeicher voll ausgelastet war. Mein physischer Speicherverbrauch lag jedoch nur bei 2 GB ... - Tom Wijsman


Sie sollten einige Messungen durchführen, um zu verstehen, wie Ihr eigenes System Arbeitsspeicher verwendet, bevor Sie Auslagerungsdatei-Anpassungen vornehmen. Oder (wenn Sie noch Anpassungen vornehmen wollen), vorher und danach diese Anpassungen.

Perfmon ist das Werkzeug dafür; nicht Taskmanager. Ein Schlüsselzähler ist Speicher - Seiten Eingabe / Sek. Dies wird speziell grafisch dargestellt schwer Seitenfehler, bei denen ein Lesen von der Festplatte erforderlich ist, bevor ein Prozess fortgesetzt werden kann. Weich Seitenfehler (dies sind die meisten Elemente, die im Standard dargestellt werden Seitenfehler / Sek Zähler; Ich empfehle diesen Zähler zu ignorieren!) Sind nicht wirklich ein Problem; Sie zeigen einfach Elemente, die normalerweise aus dem RAM gelesen werden.

Perfmon-Diagramm http://g.imagehost.org/0383/perfmon-paging.png

Oben ist ein Beispiel für ein System ohne Sorgen, das Gedächtnis. Gelegentlich gibt es eine Spitze von harten Fehlern - diese können nicht vermieden werden, da Festplatten immer größer als RAM sind. Aber der Graph ist bei Null weitgehend flach. Daher wird das Betriebssystem nur sehr selten vom Backing Store gepuffert.

Wenn Sie eine sehen Speicher - Seiten Eingabe / Sek Graphen, die viel spitzer sind als diese, ist die richtige Antwort, entweder die Speicherauslastung zu verringern (weniger Programme ausführen) oder RAM hinzuzufügen. Wenn Sie Ihre Einstellungen für die Auslagerungsdatei ändern, ändert dies nichts an der Tatsache, dass mehr Speicher vom System angefordert wird als tatsächlich vorhanden ist.

Ein handlicher zusätzlicher Zähler zum überwachen ist Physische Platte - Avg. Warteschlangenlänge (alle Instanzen) Dies zeigt an, wie stark Ihre Änderungen die Festplattennutzung selbst beeinflussen. Ein gut funktionierendes System zeigt diesen Zähler auf durchschnittlich 4 oder weniger pro Spindel.


34
2018-06-10 21:52



keuchen jemand, der sogar aus dem Weg ging, um zu demonstrieren, wie man die Auslagerungsdatei untersucht. genial. - cgp
Toter Link zum Bild. Bedürfnisse behoben. - kinokijuf
Ja, "ImageHost.org ist geschlossen" - Peter Mortensen


Ich habe meine 8 GB Vista x64 Box ohne eine Seitendatei jahrelang ohne Probleme ausgeführt.

Probleme traten auf, als ich wirklich meine Erinnerung benutzte!

Vor drei Wochen habe ich angefangen, wirklich große Bilddateien (~ 2 GB) in Photoshop zu bearbeiten. Eine Bearbeitungssitzung hat mein ganzes Gedächtnis aufgefressen. Problem: Ich konnte meine Arbeit nicht speichern, da Photoshop mehr Speicherplatz zum Speichern der Datei benötigt!

Und da es Photoshop selbst war, was die ganze Erinnerung verschlang, konnte ich nicht einmal die Speicher durch das Schließen von Programmen freigeben (nun, ich tat es, aber es war zu wenig, um hilfreich zu sein).

Alles, was ich tun konnte, war meine Arbeit zu verschrotten, meine Seitendatei zu aktivieren und all meine Arbeit zu wiederholen - ich habe deswegen eine Menge Arbeit verloren und kann nicht empfehlen, die Seitendatei zu deaktivieren.

Ja, es wird die meiste Zeit gut funktionieren. Aber in dem Moment, in dem es bricht, könnte es schmerzhaft sein.


34
2017-07-22 09:43



Sie sollten öfter sparen: D, um die Schäden zu minimieren - alexandrul
Leicht zu sagen, wenn das Speichern mehrere Minuten dauert, ist dies ein Pita. - Sam
Wir sind alle glücklich, wenn Sie komplexere Software verwenden, aber manchmal endet ein "Crash" mit "Oh Mist, ich habe seit einer Weile nicht mehr gespeichert." - Damon


Während die Antworten hier das Thema recht gut behandelten, empfehle ich dennoch folgendes:

http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx

Am Ende spricht er über PF-Größe:

Einige haben das Gefühl, keine Auslagerungsdatei zu haben, führt zu einer besseren Leistung, aber mit einer Auslagerungsdatei bedeutet das, dass Windows Seiten auf die geänderte Liste (die Seiten darstellen, auf die nicht aktiv zugegriffen wird, aber nicht auf Festplatte gespeichert wurde) Auslagerungsdatei, wodurch dieser Speicher für nützlichere Zwecke verfügbar gemacht wird (Prozesse oder Dateicache). Es gibt zwar einige Workloads, die ohne Auslagerungsdatei besser funktionieren, im Allgemeinen bedeutet dies jedoch, dass mehr nutzbarer Speicher für das System verfügbar ist (ganz abgesehen davon, dass Windows Kernel-Crash-Dumps nicht ohne große Auslagerungsdateien schreiben kann) genug, um sie zu halten).

Ich mag Marks Artikel sehr.


19
2018-06-29 00:42



+1, einfach für die Mark Russinovich-Verbindung. Es lohnt sich, darauf hinzuweisen, dass win7 sogar eine Benachrichtigung anzeigt, dass Sie nicht in der Lage sein werden, "Systemprobleme aufzuspüren", wenn Sie die Auslagerungsdatei deaktivieren. - cgp


Die beste Antwort, die ich mir vorstellen kann, ist, dass Sie unter einer normalen Last die 8 GB nicht verbrauchen können, aber es sind die unerwarteten Lasten, bei denen Sie in Schwierigkeiten geraten.

Mit einer Auslagerungsdatei wird das System zumindest langsam ausgeführt, sobald es die Seite erreicht. Aber wenn Sie die Auslagerungsdatei entfernen, wird sie einfach sterben (von dem, was ich weiß).

Außerdem scheint 8 GB jetzt sehr viel zu sein, aber ein paar Jahre später könnte es als die minimale Menge an Speicher für eine Menge Software angesehen werden.

Wie auch immer - ich würde empfehlen, mindestens eine kleine Datei zu speichern. aber andere korrigieren mich bitte, wenn ich außerhalb der Basis bin.


13
2018-06-10 19:56



Ich würde ein bisschen weiter gehen und nicht Schließen Sie die Auslagerungsdatei ab. Das verbessert die Dinge nicht wirklich. Lass Fenster machen ... sie wissen es besser. - Michael Haren
Ich habe gerade versucht, Media Player Classic zu verwenden, um eine 6-GB-MKV-Datei zu laden. Es hat mich aus meinem RAM- und Auslagerungsdatei-Speicher gerissen. Ging recht schnell wieder zu VLC. +1 für das "du weißt nie, worauf du stoßen wirst". Schließlich stürzte MPC ab und mein RAM wurde wiederhergestellt, aber was ist, wenn Sie eine DLL in Software von Drittanbietern mit einem Speicherleck bekommen? Sie werden viel mehr Kilometer haben, wenn Sie etwas disk-backed Speicher haben, um Ihnen zu helfen. - mpbloch
Plus der Punkt, was ist das Gute von 8GB, wenn Sie in ständiger Angst leben müssen, es tatsächlich zu benutzen ?! - David Schwartz
Die "halte wenigstens eine kleine Auslagerungsdatei" scheint mir etwas seltsam zu sein, da es nicht klar ist, wie Windows es benutzen wird. Zum Beispiel könnte es sogar noch mehr als eine größere Auslagerungsdatei, die mehr Platz bietet - ich schätze, aber so lange es keine verlässliche Quelle dafür gibt, würde ich den kleinen Hinweis auf die Auslagerungsdatei als möglicherweise schädlich betrachten und stattdessen eine Standardübung empfehlen. - mafu


Sie haben nicht erwähnt, dass es sich um eine 64-Bit-Version von Windows handelt, aber ich denke ja.

Die Auslagerungsdatei dient vielen Dingen, einschließlich der Erzeugung eines Speicherauszugs im Falle von BSoD (Bluescreen des Todes).

Wenn Sie keine Auslagerungsdatei haben, kann Windows nicht auf die Festplatte ausgelagert werden, wenn nicht genügend Arbeitsspeicher vorhanden ist. Sie denken vielleicht, dass Sie mit 8 GB dieses Limit nicht erreichen werden. Aber Sie haben möglicherweise schlechte Programme, die im Laufe der Zeit Speicher verlieren.

Ich denke, es wird dich nicht ohne eine Auslagerungsdatei in den Ruhezustand versetzen (aber ich habe es noch nicht versucht).

Windows 7/2008 / Vista ändert die Verwendung der Auslagerungsdatei nicht.

Ich sah eine Erklärung von Mark Russinovich (Microsoft Fellow), der erklärte, dass Windows ohne Seitendatei langsamer sein kann als mit einer Seitendatei (selbst mit viel RAM). Aber ich kann die Ursache nicht finden.

Haben Sie keinen Speicherplatz mehr? Ich würde mindestens 1 GB halten, um im Falle eines BSoD einen Kernel-Dump erstellen zu können.


6
2018-06-10 19:59



Meinst du das? blogs.technet.com/markrussinovich/archive/2008/11/17/ ...  Wenn ja, ist sein Ratschlag lahm. Er sagt, dass die Auslagerungsdatei die Leistung erhöht, weil sie anderen Anwendungen mehr RAM geben würde. Richtig, wenn du nicht viel RAM hast. Aber wenn Sie mehr als genug haben, ist die Auslagerungsdatei nie schneller. - Pyrolistical
Es war in einem sysinternalen Video mit Salomon. Es hatte etwas mit dem Kernel-Seitenpool zu tun - Mathieu Chateau
Sie können keine "Antwort" posten, wenn Sie keine Ahnung haben: Ich habe einen Windows Vista 32-Bit-Laptop mit 4 GB RAM und stelle ihn ständig in den Standby-Modus. Können Sie sich zumindest darauf beschränken, Antworten auf Fragen zu geben, auf die Sie tatsächlich Antworten wissen? - PP.
Was PP versucht zu sagen: Der Hibernation-Prozess verwendet eine Datei, die von der Auslagerungsdatei getrennt ist. Dies ist in diesem Fall kein Problem. - mafu
Pyrolistisch, es ist wahrscheinlich viel zu spät für Sie, dies zu sehen, aber drehen Sie Ihre Aussage um und formulieren Sie sie als Frage: Wann verlangsamt Auslagerungsdatei etwas? Eine gute Antwort darauf würde deine Theorie beweisen. - quux


Ich deaktivierte meine Page-Datei (8 GB auf einem x86-Laptop) und hatte zwei Probleme sogar mit 2500 MB frei:

  1. ASP.NET-Fehler beim Versuch, den WCF-Dienst zu aktivieren: Speichergatterüberprüfung fehlgeschlagen, da der freie Speicher (399.556.608 Bytes) weniger als 5% des gesamten Speichers ist. Daher ist der Dienst für eingehende Anforderungen nicht verfügbar. Um dies zu beheben, reduzieren Sie entweder die Auslastung des Computers oder passen Sie den Wert von minFreeMemoryPercentageToActivateService für das Konfigurationselement serviceHostingEnvironment an.

    Wie 3,7 GB sind weniger als 5% von 8 GB, die ich nie wissen werde !!

  2. Bekommen Programme schließen, um Informationsverlust zu verhindern dialog: Wenn 75% meines Arbeitsspeichers benutzt werden, erhalte ich ein Dialogfeld, das mir sagt, dass ich Programme schließen muss. Sie können dies mit einer Registrierungsänderung deaktivieren(oder möglicherweise indem Sie den 'Diagnostics Policy Service' deaktivieren.

Am Ende entschied ich mich, es einfach wieder einzuschalten. Windows einfach und einfach war nie entworfen, ohne eine Auslagerungsdatei verwendet zu werden. Es ist optimiert mit Paging zu laufen, nicht ohne. Wenn Sie vorhaben, mehr als 75% Ihres Speichers zu verwenden, und Sie sich nicht mit Ihrer Registrierung anlegen möchten, ist dies möglicherweise nicht für Sie.


5
2017-09-18 09:21



Der ASP.NET-Fehler scheint mir ein 32-Bit-Problem zu sein, aber wenn die von Ihnen angegebene Nummer korrekt ist (399556608 = 399.556.608), ist der Fehler korrekt - ~ 400 MB sind ungefähr 5% von 8 GB. - fencepost
@fencepost good catch - muss das als kb aus irgendeinem Grund gelesen haben. seltsam - Simon