Das Verschieben der Auslagerungsdatei in den Arbeitsspeicher ist eine lächerliche Idee. Schalten Sie sie einfach aus und erhöhen Sie den Arbeitsspeicher. :)
No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.
Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).
Die Speicherverwaltung wird von der CPU übernommen, und ob die Auslagerungsdatei aktiviert oder deaktiviert ist, hat keinen Einfluss darauf, wie Seiten behandelt werden. Es ist für Windows transparent.
Die Seitenpriorität ändert sich nicht, die Seiten werden trotzdem verworfen. Auslagerungsdateien werden von der CPU als sekundärer Speicher verwendet, nicht vom Betriebssystem. Es ist nichts weiter als Level 2 Cache, wenn Level 1 (RAM) leer ist.
Ein schnelles und sehr schmutziges Beispiel: Mein Computer hat 16 GB RAM und keine Auslagerungsdatei. Vor 5 Minuten mit 13 GB im Standby-Modus und nur 2 GB freiem Speicherplatz habe ich Fallout 4 geladen. Die Seiten mit niedriger Priorität wurden als Fallout geladen verworfen.
Übrigens ist der Technet-Blog von 2008 über das Verschieben von Windows-Speicherbeschränkungen sehr irreführend - ich würde sagen, bis zur Täuschung.
https://i.stack.imgur.com/wXkmi.png
Ich bin auch zweifelhaft, ob auch Mark es geschrieben hat, aber ich hoffe nicht, da es meine Perspektive von ihm ändern würde .....
Fwiw gibt es klaffende Löcher in dem Artikel, die ich bin verblüfft, dass niemand darüber nachgedacht hat, wie oft dieser Blog verwiesen wurde
- Die Auslagerungsdatei und ihr Speicherort werden von Windows verwaltet. Das Abfangen des Speicherzugriffs auf Speicherorte, die auf die Festplatte ausgelagert wurden, wird von der CPU abgefangen, aber dem Betriebssystem übergeben, um die Seite von der Festplatte abzurufen und in diese zu laden.
Jedenfalls ist hier eine nicht so vage Beschreibung:
Windows kann keine höheren Adressen als die CPU erreichen - dies ist nicht möglich.
Egal was das Betriebssystem kann, es ist immer noch durch die Hardware, auf der es läuft, begrenzt. Denn das Betriebssystem ist eigentlich die CPU selbst (interne Register).
OK, Auslagerungsdatei ist also ein Bereich auf der Festplatte, den die CPU für den erweiterten physischen Adressraum verwendet, wenn sie physisch oder architektonisch nicht mehr RAM verwenden kann.
In einer segmentierten x86-32-Bit-Architektur gibt es beispielsweise zwei 2-GB-RAM-Segmente.
Einer ist dem Kernel zugeordnet. Die anderen 2 GB sind für den Benutzermodus vorgesehen. Das ist der gesamte Arbeitsspeicher, den die CPU mit 32 DRAM-Pins nutzen kann. Bei einem 32-Bit-Prozess stehen jedoch 4 GB zur Verfügung. Gut, zum Glück kann die CPU Sekundärspeicher AKA der Festplatte zum Speichern der zusätzlichen 2 GB Seiten verwenden. Da es interne Register hat
Die physischen Speicherorte, an denen virtuelle Seiten, auf die vom Prozess verwiesen wird, nicht im RAM gespeichert werden müssen. Sie müssen jedoch irgendwo von der CPU gespeichert werden.
Die CPU kann nicht alle 4 GB RAM für die App bereitstellen, aber sie kann 4 GB an Adressen bereitstellen, indem sie die Festplatte als sekundären Cache verwendet (das ist alles, was die Festplatte wirklich ist).
Die Seiten werden über den internen Paging-Mechanismus in den Arbeitsspeicher und aus dem Arbeitsspeicher verschoben. Dies ist jedoch nicht dasselbe wie eine Auslagerungsdatei. Paging tritt immer auf ....
Das Endergebnis ist wirklich nicht so kompliziert. In den letzten 15 Jahren hatten viele Endbenutzer den Eindruck, dass eine Auslagerungsdatei ein wesentlicher Bestandteil des Betriebssystems ist, nicht aber. Das war noch nie so. Dieses Missverständnis wird zum Teil von Unternehmen wie Intel und Microsoft angeheizt.
RAM ist ein schnelles Speichergerät, die Festplatte ist ein langsameres Speichergerät, daher ist RAM im Wesentlichen Cache der Ebene 1, die Festplatte ist Level 2 (ohne Berücksichtigung des CPU-Cache für diese Analogie). Beides ist für die CPU zugänglich.
Steht der CPU nicht genügend RAM zur Verfügung, um die benötigten Seiten zu speichern, kann die Festplatte als Überlauf verwendet werden. Wenn genügend RAM vorhanden ist, ist der PF redundant.
Bis zum Core 2 hatten Intel-Prozessoren einen 32-Pin-DRAM-Bus und 32 Register, was bedeutet, dass die CPU Zugriff auf 4 GB RAM und 4 GB Festplattenspeicher (Auslagerungsdatei) hatte. Dies ist eine Einschränkung der Architekturhardware, keine Windows-Einschränkung.
Für Prozesse standen insgesamt 3,5 GB zur Verfügung, da eine Seitentabelle 512 MB belegt. Aus diesem Grund werden in Windows 3,5 GB mit Intel-CPUs (bis Core 2) angezeigt. Wenn Sie eine GPU hinzufügen, ist noch weniger verfügbar.
Xeon konnte auf insgesamt 32 GB RAM und 64 GB physischen Speicherplatz mit Festplatte zugreifen (erneut Auslagerungsdatei). ( Dies ^ deckt PAE ab, -mehr werden Links hinzugefügt ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
3. Screenshot Quelle:
System V Application Binary Interface AMD64 Architekturprozessor Supplement Draft Version 0.99.7
Ich beabsichtige, diese Antwort weiter zu verbessern und Quellenmaterial und relevante Informationen hinzuzufügen. Ich möchte ein Gleichgewicht zwischen nicht genügend Informationen und zu vielen technischen Informationen erreichen. Vorschläge sind willkommen. Bitte stimmen Sie nicht ab, nur weil es möglicherweise nicht so gut geschrieben ist.