Die Frage der Deaktivierung der Windows-Auslagerungsdatei wurde bereits ausführlich behandelt, zum Beispiel hier und hier und hier . Die Befragten stimmen weiterhin mit Antworten überein, die besagen, dass Sie Ihre Auslagerungsdatei nicht deaktivieren sollten, auch wenn Sie über ausreichend RAM verfügen. Ich habe jedoch noch keine konkreten, nachprüfbaren Gründe für diesen Rat. Wenn Sie die Auslagerungsdatei nie lesen müssen (weil Sie über genügend RAM verfügen), ist die Leistung möglicherweise nur dann schlechter , wenn sie aktiviert ist, weil Windows vorbeugend darauf schreibt. Im besten Fall wäre die Leistung gleich. Ich kann nicht sehen, wie es möglicherweise verbessert werden könnte, wenn Sie Daten schreiben, die Sie nie lesen müssen.
Meine Frage lautet also:
Gibt es einen Grund, warum ich die Auslagerungsdatei nicht deaktivieren sollte, wenn ich für alles, was ich tue, genügend physischen Arbeitsspeicher habe?
Angenommen, die Version von Windows ist Windows XP x64 SP2 oder Windows Server 2003 x64 SP2 (dasselbe). Wenn es für Windows Server 2008 x64 anders ist, wäre ich auch daran interessiert, eine Antwort darauf zu hören. Ich suche nach konkreten, objektiven Gründen aus guten Quellen, nicht nur nach Meinungen. So etwas wie "Hier werden die Benchmarks mit und ohne Auslagerungsdatei durchgeführt, und die Ergebnisse waren mit einer Auslagerungsdatei besser, selbst wenn genügend RAM vorhanden ist" oder "Gemäß diesem MS KB-Artikel tritt Problem X auf, wenn Sie die Auslagerungsdatei deaktivieren".
Bisher habe ich nur folgende Gründe erwähnt:
- Selbst wenn Sie denken, dass Sie über genügend RAM verfügen, ist dies möglicherweise nicht mehr ausreichend. OK, aber für die Zwecke dieser Frage nehmen wir es einfach als gegeben an, dass ich genug habe. Vielleicht habe ich nur meine E-Mail gelesen und ich habe 16 GB RAM. Oder 128 GB. Oder 1 TB. Oder was auch immer - aber es reicht zu 100% für das, was ich mache, zu 100% für die Zeit. Eine andere Möglichkeit ist, wenn ich über x MB physischen RAM und y MB Auslagerungsdatei verfüge und in dieser Konfiguration nie über genügend RAM verfüge, wäre ich in Bezug auf die Leistung mit x + y MB physischem RAM und nein nicht besser dran Auslagerungsdatei?
- Windows ist es "gewohnt", eine Auslagerungsdatei zu haben, und diese funktioniert möglicherweise nicht so zuverlässig ( siehe Auswirkungen des Arbeitsspeichers auf die Gesamtsystemleistung) .
- Windows weiß, was es besser macht als Sie. Nein - es ist nicht bekannt, dass ich keine weiteren Programme ausführen oder mehr Daten laden werde, aber das tue ich.
Antworten:
Dies ist eine Mikrooptimierung. Der Punkt ist, dass es keinen Grund gibt , dies in etwas zu tun, das dem normalen Betrieb ähnelt. Es kann Ihnen leicht wehtun, wenn sich Ihr Verwendungsmuster ändert.
In speziellen Fällen kann es sinnvoll sein, wenn beispielsweise keine lokale beschreibbare Festplatte vorhanden ist.
quelle
Es gibt viele Gründe, die Auslagerungsdatei beizubehalten, auch wenn Sie alles in den Arbeitsspeicher einpassen können.
Die Antwort auf SF hat 125 positive Stimmen und verlinkt viele glaubwürdige Artikel. Hör zu:
https://serverfault.com/questions/23621/any-benefit-or-detriment-from-removing-a-pagefile-on-an-8gb-ram-machine/23684#23684
quelle
Über diesen Link:
Hier ist ein Link zu Jeff Atwoods Einstellung dazu.
quelle
Ich verwende seit über einem Jahr einen 32-Bit-Laptop mit Windows XP SP3 Professional und 4 GB RAM (Windows erkennt offiziell nur 3 GB RAM) ohne Auslagerungsdatei. Die Leute in meinen Kreisen versuchten auch immer wieder, mir Angst zu machen, dass ich das nicht hätte tun sollen.
Ich verwende sehr speicherintensive Anwendungen. Zu einem bestimmten Zeitpunkt habe ich mindestens zwei virtuelle Maschinen (VMware), die so konfiguriert sind, dass sie zu 100% im RAM ausgeführt werden. Ich habe mindestens eine Instanz von Visual Studio (die über viele verfügt) von installierten Add-Ons), SQL Server und mehreren 'kleinen' Apps wie E-Mail, IM, IE usw.
Abgesehen davon habe ich auch eine permanente 256 MB Ramdisk. Hin und wieder verwende ich Adobe Photoshop, WÄHREND die restlichen Anwendungen ausgeführt werden. Und ich spiele auch einige Spiele, einschließlich Quake3, Neverwinter Nights, Oblivion.
Und ich habe KEINE Probleme.
Hinweis an BlueNovember: Unser Freund hat sehr gnädig nach objektiven Gründen gefragt. Aussagen wie "Ich vermute ..." sind also nicht gerechtfertigt. Bitte informieren Sie sich vor dem Posten! Der Ruhezustand hat nichts mit Paging zu tun. Es wird eine separate Datei mit dem Namen hiberfil.sys verwendet, und Sie können den Ruhezustand ohne Auslagerungsdatei aktivieren.
PS: Tut mir leid, Alter, ich weigere mich, zu einer "normalen" Konfiguration zurückzukehren, damit ich tatsächlich messen kann, wie viel schneller dieses Setup ist, aber es ist sehr beruhigend, wenn ich sehe, dass so viel weniger Festplattenaktivität zu Flackern geführt hat. Ich würde die Auslagerungsdatei nur für diesen Zweck deaktivieren, wenn nichts anderes, da sich zumindest Ihr Computer schneller "anfühlt", wenn die Festplatten-LED nicht ständig flackert.
Der EINZIGE Grund , die Auslagerungsdatei nicht zu deaktivieren, ist, wenn Sie den Systemmonitor (PerfMon) verwenden, da dies von der Auslagerungsdatei abhängt und mindestens 2 MB Auslagerungsdatei erfordert. Andernfalls fehlen die Leistungsindikatoren für die folgenden Objekte: Cache, Speicher, Objekte, Prozessor und System.
quelle
Ich glaube, wenn Sie keine Auslagerungsdatei haben, kann Windows im Falle eines BSOD den Minidump nicht schreiben. Dies bedeutet, dass Sie das Problem nicht mit den entsprechenden Tools analysieren können.
Dies könnte Sie nicht stören, wenn Sie keine BSODs haben, und Sie können die Auslagerungsdatei sicherlich schnell genug neu erstellen, aber warum sollten Sie nicht darauf vorbereitet sein?
quelle
Der beste Grund, den ich gefunden habe, ist, dass die Auslagerungsdatei es Windows ermöglicht, mehr physischen RAM für den Festplatten-Cache zu verwenden. Dies ist möglicherweise eine bessere Verwendung als selten verwendete Speicherseiten. Mark Russinovich hat einen großartigen Artikel darüber veröffentlicht: Pushing the Limits of Windows: Virtual Memory , der besagt:
quelle
Ich verwende Windows XP mit 4 GB (3,5 GB nutzbar) RAM. Ich muss Visual Studio 2008 ausführen, das viel Arbeitsspeicher benötigt. Ich habe oft 3 bis 4 Instanzen geöffnet, die jeweils 500 MB oder mehr Speicher belegen.
Ich habe mich wirklich darüber geärgert, weil Windows immer dann, wenn ich alle Visual Studio-Instanzen schnell schließen musste, ewig brauchte, um die Instanzen zu schließen. Es dauerte 3 Minuten oder länger. Mir wurde klar, dass die Visual Studio-Instanzen aus dem RAM in die Auslagerungsdatei ausgelagert wurden, auch wenn genügend Speicher verfügbar war. Beim Schließen der Anwendung werden alle ausgelagerten Daten wieder in den Arbeitsspeicher geladen und anschließend heruntergefahren. Im Wesentlichen werden 2 GB Daten von der Festplatte in den Speicher kopiert, bevor die Instanzen heruntergefahren werden.
Nachdem ich das Paging deaktiviert hatte, bemerkte ich beim Herunterfahren mehrerer Visual Studio-Instanzen eine RIESIGE Leistungssteigerung. Es würde einige Sekunden lang 100% der CPU beanspruchen und dann verschwinden. Das Herunterfahren von Windows ist nun in weniger als einer Minute und nicht mehr in vielen Minuten möglich.
Beim Starten von Anwendungen ist mir jedoch keine Leistungssteigerung aufgefallen, was sinnvoll ist, da die Daten beim Start noch von der Festplatte gelesen werden müssen. Ich habe auch das Gefühl, dass die Dinge im Allgemeinen schneller gehen, wenn das Paging deaktiviert ist.
Außerdem habe ich nur ein paar Mal im Jahr wegen unzureichendem Arbeitsspeicher auf abstürzende Programme gestoßen. Normalerweise, wenn ich zu viele Programme öffne oder ein Programm verrückt wird und anfängt, Speicher wie verrückt zuzuweisen.
Zusammenfassend bin ich sehr zufrieden mit Paging deaktiviert. Die Speicherverwaltung in Windows ist ziemlich schrecklich. Für diejenigen, die mit dem Basteln von Speichereinstellungen vertraut sind und sich der möglichen Probleme bewusst sind, würde ich dies empfehlen.
quelle
Entgegen der landläufigen Meinung ist die Auslagerungsdatei keine billige, sondern eine langsame Alternative zum physischen Speicher. Es wurde entwickelt, um die optimale Nutzung des verfügbaren Arbeitsspeichers zu ermöglichen.
Selbst mit 4 GB RAM haben Sie wahrscheinlich nicht annähernd genug, um alles im Speicher zu behalten. Nichts im Task-Manager wird dies verraten. In diesem Wissen haben Windows-Designer ein System erstellt, in dem ausführbarer Code nur bei Bedarf in den Arbeitsspeicher verschoben und dann so lange wie möglich beibehalten wurde. Wenn das System eine bessere Verwendung für den so verwendeten Speicher findet, wird er neu zugewiesen. Dieses System wird von Microsoft seit NT3.1 verwendet, das 1993 veröffentlicht wurde. Seit den 1960er-Jahren wird es regelmäßig in großen Systemen verwendet.
Dieses System funktioniert gut für die meisten Arten von ausführbarem Code. Geänderte Daten müssen jedoch irgendwo in die Auslagerungsdatei geschrieben werden, bevor der verwendete Speicher neu zugewiesen werden kann. Die Auslagerungsdatei wird normalerweise nicht zum Speichern von Code verwendet, sondern nur zum Speichern von Daten. Durch das Auslagern von Code und Daten kann das System flexibel festlegen, was bei Bedarf ausgelagert werden soll. Durch Deaktivieren der Auslagerungsdatei kann nur der für die Codespeicherung verwendete Speicher neu zugewiesen werden. Alle geänderten Daten, auch die, auf die schon lange nicht mehr zugegriffen wurde und die möglicherweise nicht mehr benötigt werden, müssen dauerhaft im RAM verbleiben. Das Auslagern von Code wird jedoch wie bisher fortgesetzt. Das Fehlen einer oder zu kleiner Auslagerungsdatei bringt das System aus dem Gleichgewicht und zwingt Windows, nicht optimal zu blättern. Dies beeinträchtigt normalerweise die Leistung.
quelle
Wenn Ihr RAM eines oder mehrere der Programme, die den Speicher angefordert haben, maximal ausnutzt, stürzt der Speicher wahrscheinlich abrupt ab.
Dieses Risiko wird etwaige Leistungssteigerungen überwiegen.
quelle
Ich empfehle, die Auslagerungsdatei beizubehalten, sie jedoch manuell auf eine geringe Größe (z. B. 128 MB) auf der Systemfestplatte zu beschränken.
Der Grund ist ein praktischer: Windows erwartet wirklich, dass es eine Auslagerungsdatei gibt, und erstellt in den meisten Fällen eine temporäre automatisch verwaltete Datei, wenn keine gefunden wird, wodurch die Möglichkeit entfällt, diese zu deaktivieren.
Bei einigen Vorgängen, z. B. BSOD, Leistungsindikatoren, Suspend / Resume / Hibernate und auf irgendeine Weise leidet die Systemstabilität. All dies beruhte auf meiner Erfahrung, und all dies verschwand mit einer kleinen Auslagerungsdatei.
Beachten Sie, dass die Auslagerungsdatei höchstwahrscheinlich in den ersten Minuten der Ausführung gefüllt wird und in den meisten Fällen nie wieder berührt wird, sodass Sie nicht die üblichen Auslagerungsdateien mit Festplattenzugriffsstrafen erleiden. Möglicherweise erhalten Sie in Kürze in Ihrer Sitzung die Warnmeldung "Ihnen geht der Speicher aus", die Sie ignorieren können (ja, Swap ist voll, na und?).
(Ich mag auch Superfetch nicht und lasse lieber Speicher für Caching-Effekte frei)
quelle
Eine nicht erwähnte Antwort war, dass Windows die Auslagerungsdatei zum Speichern von Absturzabbildern verwendet. Die Funktion, mit der der Computer einen blauen Bildschirm anzeigt, schreibt das Absturzabbild direkt auf die Sektoren auf der Festplatte, die die Auslagerungsdatei enthalten (unter Umgehung des Dateisystemtreibers, dem Windows derzeit nicht vertrauen kann).
Ohne eine Auslagerungsdatei können Sie keine Absturzabbildinformationen abrufen. Außerdem schadet die Auslagerungsdatei Ihnen nicht, wenn Sie sie nicht verwenden. Außerhalb einer sehr begrenzten Anzahl von Szenarien gibt es keinen Grund, sie zu deaktivieren.
quelle
Denken Sie bitte daran, dass SuperFetch Ihren verbleibenden Speicher mit Cache lädt. Dann wird klar, warum wir die Auslagerungsdatei nicht deaktivieren sollten. Serielle Tasks (da Multitasking schlecht ist) und zwischengespeicherte Anwendungsstarts sind sehr nützlich. Daher ist es schön, dass SuperFetch auf Kosten des Paging funktioniert.
quelle
Wenn Ihre Frage lautete:
und du hast ja gesagt, dann wäre es ok.
In Embedded-Umgebungen besteht wahrscheinlich die höchste Wahrscheinlichkeit, dass dies zutrifft, beispielsweise bei einer Installation eines Registrierkassen-Betriebssystems.
quelle
Die einfache Antwort ist, dass Windows schrecklich wird, wenn der Arbeitsspeicher knapp wird.
Die Dinge werden quälend langsam.
Viele Softwarepakete weisen Speicherverluste auf, die den verfügbaren Arbeitsspeicher langsam aufbrauchen.
Plus Windows verwendet einen Teil Ihres Arbeitsspeichers als Cache für Ihre Festplatten.
Es sei denn, Sie haben wirklich viel mehr RAM, als Sie benötigen, wird es irgendwann ein Problem sein.
quelle
Auslagerungsdatei
Ich verwende 32-Bit-XP mit 4 GB Speicher (ich weiß, XP sieht nur 3 GB davon, aber es ist verschachtelt und sehr schnell) und möchte zwei Punkte hervorheben:
XP kann nur 3 GB Speicher sehen. Wenn mein Computer das bereits hat, wozu dient eine Auslagerungsdatei? Es reserviert Festplattenspeicher, auf den es niemals zugreifen kann. Es sei denn, es wird RAM deaktiviert. Sie haben also Ihr hart verdientes Geld im Top-Speicher ausgegeben, nur um festzustellen, dass XP stattdessen eine Datendiskette ist.
Wenn Sie mit XP 32 Bit arbeiten und über 4 GB Speicher verfügen, versuchen Sie Folgendes: Deaktivieren Sie die Auslagerungsdatei. Starten Sie XP neu. Auslagerungsdatei löschen. Führen Sie ein paar Programme aus, Word, Excel, Chrome, IE Ex, schauen Sie sich einen Film an, streamen Sie Musik oder Fernsehen. Alles sollte gut funktionieren. Schalten Sie die Auslagerungsdatei wieder ein, diesmal mit einer wirklich kleinen Größe von beispielsweise 25 MB. Starten Sie XP neu. Führen Sie ein paar Programme aus, Word, Excel, Chrome, IE Ex, schauen Sie sich einen Film an, streamen Sie Musik oder Fernsehen. Sie werden bald eine Meldung erhalten, dass Ihnen der virtuelle Speicher ausgeht. Dies beweist, dass XP die Auslagerungsdatei auch dann verwendet, wenn dies nicht erforderlich ist. Überprüfen Sie die Registerkarte "Task-Manager-Leistung" (Alt-Strg-Entf). Der Peak wird deutlich unter dem physischen Gesamtspeicher liegen. Warum verwendet XP die Auslagerungsdatei? Und warum glaubt XP, dass Ihnen der Speicher ausgeht?
Die Auslagerungsdatei ist ein Anachronismus aus der Zeit von DOS und Windows 98. Wenn Sie über genügend Arbeitsspeicher verfügen, sollten Sie ihn entfernen.
quelle