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!