TL; DR-Version: Überlassen Sie Windows die Einstellungen für Speicher / Auslagerungsdatei. Die Menschen bei MS haben viel mehr Stunden damit verbracht, über diese Themen nachzudenken als die meisten von uns Sysadmins.
Viele Leute scheinen anzunehmen, dass Windows Daten bei Bedarf in die Auslagerungsdatei pusht. EG: Etwas braucht viel Speicher und es ist nicht genug RAM vorhanden, um diesen Bedarf zu decken. Daher beginnt Windows in letzter Minute damit, Daten aus dem RAM auf die Festplatte zu schreiben, um RAM für die neuen Anforderungen freizugeben.
Das ist falsch. Unter der Haube ist noch mehr los. Im Allgemeinen unterhält Windows einen Sicherungsspeicher , dh, es soll alles, was sich im Speicher befindet, auch irgendwo auf der Festplatte angezeigt werden. Wenn nun etwas vor sich geht und viel Speicher benötigt, kann Windows den Arbeitsspeicher sehr schnell löschen, da sich diese Daten bereits auf der Festplatte befinden und bei Bedarf wieder in den Arbeitsspeicher ausgelagert werden können. Man kann also sagen, dass ein Großteil des Inhalts der Auslagerungsdatei sich auch im RAM befindet. Die Daten wurden präventiv in die Auslagerungsdatei eingefügt, um die neuen Speicherzuweisungsanforderungen zu beschleunigen .
Das Beschreiben der spezifischen Mechanismen würde viele Seiten in Anspruch nehmen (siehe Kapitel 7 von Windows Internals und beachten Sie, dass bald eine neue Edition verfügbar sein wird), aber es gibt ein paar nette Dinge zu beachten. Erstens befindet sich ein Großteil des Arbeitsspeichers bereits auf der Festplatte - der Programmcode wird beispielsweise aus einer ausführbaren Datei oder einer DLL abgerufen. Dies muss also nicht in die Auslagerungsdatei geschrieben werden. Windows kann einfach nachverfolgen, woher die Bits ursprünglich abgerufen wurden. Zweitens zeichnet Windows auf, welche Daten im RAM am häufigsten verwendet werden, und löscht aus dem RAM die Daten, auf die am längsten nicht zugegriffen wurde.
Wenn Sie die Auslagerungsdatei vollständig entfernen, kann dies zu einer weiteren Überlastung der Festplatte führen. Stellen Sie sich ein einfaches Szenario vor, in dem einige Anwendungen gestartet werden und 80% des vorhandenen Arbeitsspeichers beanspruchen. Dies würde den aktuellen ausführbaren Code aus dem Arbeitsspeicher entfernen - möglicherweise sogar den Betriebssystemcode. Jedes Mal, wenn diese anderen Apps - oder das Betriebssystem selbst (!!) Zugriff auf diese Daten benötigen, muss das Betriebssystem sie vom Backup-Speicher auf der Festplatte auslagern, was zu viel Thrashing führt. Weil ohne Auslagerungsdatei, die als Sicherungsspeicher für vorübergehende Daten dienen soll, nur ausführbare Dateien und DLLs ausgelagert werden können, die anfangs inhärente Sicherungsspeicher hatten.
Es gibt natürlich viele Ressourcen- / Nutzungsszenarien. Es ist nicht unmöglich, dass Sie eines der Szenarien haben, in denen das Entfernen von Auslagerungsdateien keine nachteiligen Auswirkungen haben würde, aber dies sind die Minderheiten. In den meisten Fällen führt das Entfernen oder Verkleinern von Auslagerungsdateien unter Szenarien mit maximaler Ressourcennutzung zu einer verringerten Leistung.
Einige Referenzen:
dmo hat kürzlich einen Beitrag von Eric Lippert zur Kenntnis genommen, der zum Verständnis des virtuellen Speichers beiträgt (obwohl dies weniger mit der Frage zu tun hat). Ich schreibe es hier, weil ich vermute, dass einige Leute nicht zu anderen Antworten scrollen werden - aber wenn Sie es wertvoll finden, schulden Sie dmo eine Abstimmung, also benutzen Sie den Link , um dorthin zu gelangen!
Eric Lippert hat kürzlich einen Blogeintrag verfasst, in dem beschrieben wird, wie Windows den Speicher verwaltet. Kurz gesagt, das Windows-Speichermodell kann als Plattenspeicher betrachtet werden, in dem RAM als leistungssteigernder Cache fungiert.
quelle
Wie ich aus anderen Antworten ersehen kann, bin ich die einzige, die die Auslagerungsdatei deaktiviert und nie bereut hat. Toll :-)
Sowohl zu Hause als auch auf der Arbeit habe ich Vista 64-Bit mit 8 GB RAM. Bei beiden ist die Auslagerungsdatei deaktiviert. Bei der Arbeit ist es für mich nichts Ungewöhnliches, wenn nur wenige Instanzen von Visual Studio 2008, Virtual PC mit Windows XP, zwei Instanzen von SQL Server und Internet Explorer 8 mit vielen Registerkarten zusammenarbeiten. Ich erreiche selten 80% des Gedächtnisses.
Ich benutze auch jeden Tag hybriden Schlaf (Ruhezustand mit Schlaf) ohne Probleme.
Ich begann damit zu experimentieren, als ich Windows XP mit 2 GB RAM hatte und ich sah wirklich den Unterschied. Ein klassisches Beispiel war, als die Symbole in der Systemsteuerung nicht mehr nacheinander, sondern auf einmal angezeigt wurden. Auch die Startzeit von Firefox / Thunderbird hat sich dramatisch erhöht. Alles begann sofort zu funktionieren, nachdem ich auf etwas geklickt hatte. Leider waren 2 GB für meine Anwendungsnutzung (Visual Studio 2008, Virtual PC und SQL Server) zu klein, sodass ich sie wieder aktiviert habe.
Aber im Moment mit 8 GB möchte ich niemals zurückgehen und die Auslagerungsdatei aktivieren.
Für diejenigen, die über extreme Fälle sprechen, nimm dieses mal aus meinem Windows XP.
Wenn Sie versuchen, große Pivot-Tabelle in Excel aus einer SQL-Abfrage zu laden, erhöht Excel 2000 die Speichernutzung ziemlich schnell.
Wenn Sie die Auslagerungsdatei deaktiviert haben, warten Sie ein wenig und Excel wird in die Luft gejagt und das System löscht den gesamten Speicher danach.
Wenn Sie die Auslagerungsdatei aktiviert haben, warten Sie einige Zeit und wenn Sie bemerken, dass etwas nicht stimmt, können Sie fast nichts mit Ihrem System tun. Ihre Festplatte funktioniert wie zum Teufel, und selbst wenn Sie es irgendwie schaffen, den Task-Manager auszuführen (nach ein paar Minuten Wartezeit) und zu beenden
excel.exe
, müssen Sie ungefähr eine Minute warten, bis das System alles aus der Auslagerungsdatei zurücklädt.Wie ich später gesehen habe, verarbeitet Excel 2003 dieselbe Pivot-Tabelle ohne Probleme mit deaktivierter Auslagerungsdatei. Es handelte sich also nicht um ein "zu großes Datenmengenproblem".
Meiner Meinung nach schützt eine deaktivierte Auslagerungsdatei Sie sogar manchmal vor schlecht geschriebenen Anwendungen.
Kurz: Wenn Sie sich Ihrer Speichernutzung bewusst sind, können Sie diese sicher deaktivieren.
Bearbeiten: Ich möchte nur hinzufügen, dass ich Windows Vista SP2 ohne Probleme installiert habe.
quelle
Möglicherweise möchten Sie einige Messungen durchführen, um zu verstehen, wie Ihr eigenes System den Speicher verwendet, bevor Sie Anpassungen an den Auslagerungsdateien vornehmen. Oder (falls Sie noch Anpassungen vornehmen möchten), vor und nach diesen Anpassungen.
Perfmon ist das Werkzeug dafür; nicht Task-Manager. Ein Schlüsselzähler ist Memory - Pages Input / sec . Dadurch werden insbesondere Hardpage - Fehler dargestellt, bei denen ein Lesevorgang von der Festplatte erforderlich ist, bevor ein Prozess fortgesetzt werden kann. Weiche Seitenfehler (die die Mehrheit der im Standardzähler für Seitenfehler / Sek. Dargestellten Elemente darstellen ; ich empfehle, diesen Zähler zu ignorieren!) Sind kein wirkliches Problem. Sie zeigen einfach Elemente, die normalerweise aus dem RAM gelesen werden.
Perfmon graph http://g.imagehost.org/0383/perfmon-paging.png
Oben ist ein Beispiel für ein System ohne Sorgen, was den Speicher betrifft. In seltenen Fällen kommt es zu einem Anstieg von Hardfehlern, die nicht vermieden werden können, da die Festplatten immer größer als der Arbeitsspeicher sind. Der Graph ist jedoch bei Null weitgehend flach. Daher wird das Betriebssystem nur sehr selten aus dem Hintergrundspeicher ausgelagert.
Wenn Sie eine Memory-Pages-Eingabe / Sek- Grafik sehen, die viel spitzer ist als diese, ist die richtige Reaktion, entweder die Speicherauslastung zu verringern (weniger Programme ausführen) oder RAM hinzuzufügen. Durch das Ändern der Einstellungen für Auslagerungsdateien ändert sich nicht die Tatsache, dass mehr Speicher vom System angefordert wird, als tatsächlich vorhanden ist.
Ein praktischer zusätzlicher zu überwachender Zähler ist PhysicalDisk - Avg. Warteschlangenlänge (alle Instanzen). Hier sehen Sie, wie stark sich Ihre Änderungen auf die Festplattennutzung auswirken. Ein gut funktionierendes System zeigt einen Durchschnittswert dieses Zählers von 4 oder weniger pro Spindel .
quelle
Ich habe meine 8 GB Vista x64-Box jahrelang ohne Auslagerungsdatei ausgeführt, ohne Probleme.
Probleme entstanden, als ich mein Gedächtnis wirklich benutzte!
Vor drei Wochen habe ich begonnen, sehr große Bilddateien (~ 2 GB) in Photoshop zu bearbeiten. Eine Editiersitzung hat mein gesamtes Gedächtnis aufgebraucht. Problem: Ich konnte meine Arbeit nicht speichern, da Photoshop mehr Speicher benötigt, um die Datei zu speichern!
Und da es Photoshop selbst war, der den gesamten Speicher verbrauchte, konnte ich nicht einmal Speicher freigeben, indem ich Programme schloss (nun ja, aber es war zu wenig, um zu helfen).
Alles, was ich tun konnte, war, meine Arbeit zu verschrotten, meine Auslagerungsdatei zu aktivieren und alle meine Arbeiten zu wiederholen - ich habe viel Arbeit verloren und kann nicht empfehlen, Ihre Auslagerungsdatei zu deaktivieren.
Ja, es wird die meiste Zeit großartig funktionieren. Aber in dem Moment, in dem es bricht, kann es schmerzhaft sein.
quelle
Während die Antworten hier das Thema ziemlich gut abdeckten, werde ich diese Lektüre dennoch empfehlen:
http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx
Er spricht fast am Ende über PF-Größe:
Ich mag Marks Artikel wirklich.
quelle
Die beste Antwort, die ich mir vorstellen kann, ist, dass Sie unter einer normalen Last möglicherweise nicht die 8 GB verbrauchen, aber es sind die unerwarteten Lasten, bei denen Sie auf Probleme stoßen werden.
Bei einer Auslagerungsdatei wird das System mindestens langsam ausgeführt, sobald es die Seite erreicht. Aber wenn Sie die Auslagerungsdatei entfernen, stirbt sie einfach (soweit ich weiß).
Auch 8 GB scheinen jetzt viel zu sein, aber ein paar Jahre später könnte es als die minimale Speicherkapazität für eine Menge Software angesehen werden.
In beiden Fällen würde ich empfehlen, mindestens eine kleine Auslagerungsdatei zu behalten. aber andere korrigieren mich bitte, wenn ich nicht in der Basis bin.
quelle
Sie haben nicht erwähnt, ob es sich um eine 64-Bit-Version von Windows handelt, aber ich denke ja.
Die Auslagerungsdatei dient vielen Zwecken, einschließlich der Erstellung eines Speicherabbilds im Fall von BSoD (Blue Screen of Death).
Wenn Sie keine Auslagerungsdatei haben, kann Windows nicht auf die Festplatte auslagern, wenn nicht genügend Arbeitsspeicher vorhanden ist. Sie denken vielleicht, dass Sie mit 8 GB diese Grenze nicht erreichen. Möglicherweise haben Sie jedoch fehlerhafte Programme, die mit der Zeit Speicher verlieren.
Ich denke, es wird dich nicht in den Ruhezustand / Standby ohne eine Auslagerungsdatei versetzen (aber ich habe es noch nicht versucht).
Windows 7/2008 / Vista ändert die Verwendung der Auslagerungsdatei nicht.
Ich habe eine Erklärung von Mark Russinovich (Microsoft Fellow) gesehen, die erklärt, dass Windows ohne Auslagerungsdatei langsamer sein kann als mit einer Auslagerungsdatei (auch mit viel RAM). Aber ich kann die Ursache nicht zurückfinden.
Haben Sie keinen Speicherplatz mehr? Ich würde mindestens 1 GB behalten, um im Falle einer BSoD einen Kernel-Dump zu haben.
quelle
Ich habe meine Auslagerungsdatei (8 GB auf einem x86-Laptop) deaktiviert und hatte zwei Probleme, auch wenn 2500 MB frei waren:
ASP.NET-Fehler beim Aktivieren des WCF-Diensts : Die Überprüfung der Speichergatter ist fehlgeschlagen, da der freie Speicher (399.556.608 Byte) weniger als 5% des Gesamtspeichers ausmacht. Infolgedessen ist der Dienst für eingehende Anforderungen nicht verfügbar. Um dies zu beheben, reduzieren Sie entweder die Belastung des Computers oder passen Sie den Wert von minFreeMemoryPercentageToActivateService für das Konfigurationselement serviceHostingEnvironment an.
Ganz wie 3,7 GB weniger als 5% von 8 GB sind, werde ich nie erfahren !!
Erstes Schließen Programme Informationsverlust verhindern Dialog: Wenn 75% meiner RAM verwendet wird ich ein Dialogfeld mir zu sagen , Programme zu schließen. Sie können dies mit einer Registrierungsänderung deaktivieren (oder möglicherweise durch Deaktivieren des 'Diagnostics Policy Service').
Am Ende habe ich beschlossen, es einfach wieder einzuschalten. Windows ist schlicht und einfach und wurde nie für die Verwendung ohne Auslagerungsdatei entwickelt. Es ist für die Ausführung mit Paging optimiert, nicht ohne. Wenn Sie planen, mehr als 75% Ihres Arbeitsspeichers zu verwenden und nicht mit Ihrer Registrierung herumspielen möchten, ist dies möglicherweise nicht das Richtige für Sie.
quelle
Die einzige Person, die Ihnen sagen kann, ob Ihre Server oder Workstations eine Auslagerungsdatei "benötigen", ist Sie , mit sorgfältiger Verwendung des Systemmonitors oder wie auch immer es heutzutage heißt. Welche Anwendungen führen Sie aus, welchen Nutzen sehen sie und welchen höchstmöglichen Speicherverbrauch sehen Sie möglicherweise?
Lohnt es sich, die Stabilität zu gefährden, um bei kleineren Festplatten eine Minute Geld zu sparen?
Was passiert, wenn Sie einen sehr großen Patch herunterladen, beispielsweise ein Service Pack? Wenn der Installationsdienst feststellt, dass er mehr Speicher benötigt, als Sie zum Entpacken des Patches erwartet haben, was dann? Wenn Ihr Virenscanner (zu Recht) beschließt, dieses sehr große Paket zu scannen, welche Art von Speicher benötigt er, um diese Patch-Datei zu entpacken und zu scannen? Mordgedächtnisgebrauchszahlen .
Was ich kann Ihnen sagen , ist , dass Ihre Seite Datei entfernen zu verletzen weit höhere Wahrscheinlichkeit hat , als zu helfen. Ich kann keinen Grund sehen, warum Sie keinen hätten - ich bin mir sicher, dass es ein paar Spezialfälle gibt, in denen ich falsch liege, aber das ist ein ganz anderer Bereich.
quelle
Ihr gesamter verfügbarer Speicher ist Ihre Auslagerungsdatei + der tatsächliche Speicher.
Die Schlüsselfrage ist, ob Ihre erwartete Gesamtspeicherauslastung für alle Apps und die Betriebssystemauslastung 8 GB erreicht. Wenn Ihre durchschnittliche Speicherauslastung 2 GB und Ihre maximale Speicherauslastung nur 4 GB beträgt, ist es sinnlos, eine Auslagerungsdatei zu haben. Wenn Ihre maximale Speicherauslastung näher bei 6-7 GB oder höher liegt, ist es eine gute Idee, eine Auslagerungsdatei zu haben.
PS: Vergessen Sie nicht, zukünftiges Wachstum zuzulassen!
quelle
Es scheint, dass viele stark eingeschränkte Personen eine Meinung zu diesem Thema haben, aber nie versucht haben, ihren Computer ohne Auslagerungsdatei zu betreiben.
Nur wenige, wenn überhaupt keine, haben es versucht. Noch weniger scheinen zu wissen, wie Windows die Auslagerungsdatei behandelt. Es füllt sich nicht "nur", wenn Ihnen der physische Arbeitsspeicher ausgeht. Ich wette, die meisten von Ihnen wussten nicht einmal, dass Ihr "freier" RAM als Dateicache verwendet wird!
Sie KÖNNEN massive Leistungsverbesserungen erzielen, indem Sie Ihre Auslagerungsdatei deaktivieren. Ihr System ist anfälliger für Speicherfehler (und wissen Sie, wie Ihre Anwendungen in diesem Szenario reagieren - zum größten Teil beendet das Betriebssystem die Anwendung nur). Startzeiten aus dem Standby-Modus oder aus längeren Standby-Zeiten sind wesentlich schneller.
Wenn Microsoft Ihnen tatsächlich erlaubt hat, eine Option festzulegen, mit der die Auslagerungsdatei NUR verwendet wird, wenn kein physischer Arbeitsspeicher mehr vorhanden ist (und alle Dateipuffer gelöscht wurden), hätte die Deaktivierung der Auslagerungsdatei meines Erachtens wenig zu bieten.
quelle
Dies ist ein Gegengewicht, aber wir betreiben einen Windows Server 2003-Terminalserver für ungefähr 20 Benutzer mit 10 bis 15 angemeldeten Benutzern und 8 GB RAM. Wir führen keine Auslagerungsdatei aus und unser Server läuft schneller als zuvor. Dies ist offensichtlich keine Lösung für alles, aber wir sind seit zwei Jahren so unterwegs und hatten keine Probleme, die mir bekannt sind.
quelle