Stellen Sie sich vor, ich habe Tonnen von RAM. Sagen wir 64GB. Das ist auch für Gaming-PCs eine Menge. Jetzt befindet sich der Standardspeicherort einer Auslagerungsdatei in Windows auf dem Hauptlaufwerk des Betriebssystems, sei es Festplatte oder SSD, die im Allgemeinen schneller sind, aber immer noch nicht so schnell wie RAM.
Irgendetwas sagt mir, dass das Deaktivieren der Auslagerungsdatei auf der Festplatte oder das Erstellen eines virtuellen RAM-Laufwerks und das Zulassen der Auslagerungsdatei dazu führen kann, dass Windows den gesamten virtuellen Speicher in den Arbeitsspeicher verschiebt und so die Systemleistung erhöht Bereich, so könnte das überhaupt nicht wahr sein.
Ich habe beides ausprobiert, aber ich konnte die Ergebnisse nicht analysieren, um mit meinem Wissensstand über Erinnerungssachen zu einer endgültigen Schlussfolgerung zu gelangen.
Würde das funktionieren? Wenn nein, warum?
quelle
Antworten:
Egal wie viel RAM Sie haben, Sie möchten, dass das System es effizient nutzen kann. Wenn überhaupt keine Auslagerungsdatei vorhanden ist, wird das Betriebssystem aus zwei Gründen gezwungen, den RAM ineffizient zu verwenden. Erstens können Seiten nicht verworfen werden, selbst wenn sie über einen sehr langen Zeitraum nicht mehr aufgerufen oder geändert wurden, wodurch der Festplatten-Cache kleiner wird. Zweitens muss physischer Arbeitsspeicher reserviert werden, um Zuordnungen zu sichern, für die es sehr unwahrscheinlich ist, dass sie jemals erforderlich sind (z. B. eine private, modifizierbare Dateizuordnung). Dies führt zu einem Fall, in dem Sie über ausreichend freien physischen Arbeitsspeicher verfügen können, für den Zuordnungen jedoch verweigert werden Überbeanspruchung vermeiden.
Angenommen, ein Programm erstellt eine beschreibbare Zuordnung des privaten Speichers einer 4-GB-Datei. Das Betriebssystem muss 4 GB RAM für diese Zuordnung reservieren, da das Programm möglicherweise jedes Byte ändern könnte und es nur RAM zum Speichern gibt. Daher werden sofort 4 GB RAM verschwendet (es kann verwendet werden, um saubere Datenträgerseiten zwischenzuspeichern, aber das war's auch schon).
Sie benötigen eine Auslagerungsdatei, um das Beste aus Ihrem Arbeitsspeicher herauszuholen, auch wenn dieser niemals verwendet wird. Es ist eine Versicherungspolice, die es dem Betriebssystem ermöglicht, den vorhandenen Arbeitsspeicher tatsächlich zu nutzen, anstatt ihn für außerordentlich unwahrscheinliche Möglichkeiten reservieren zu müssen.
Die Leute, die das Verhalten Ihres Betriebssystems entworfen haben, sind keine Narren. Wenn Sie eine Auslagerungsdatei haben, hat das Betriebssystem mehr Auswahlmöglichkeiten und es werden keine schlechten Entscheidungen getroffen.
Es hat keinen Sinn, eine Auslagerungsdatei in den Arbeitsspeicher zu verschieben. Und wenn Sie über viel RAM verfügen, ist es sehr unwahrscheinlich, dass die Auslagerungsdatei verwendet wird (sie muss nur vorhanden sein), sodass es keine Rolle spielt, wie schnell das Gerät ist, auf dem sie sich befindet.
quelle
Sie haben völlig recht mit Ihrer Annahme.
Speicherverwaltungsalgorithmen sind sehr komplex und keineswegs perfekt. Das Austauschen erfolgt also auch dann, wenn genügend freier Arbeitsspeicher vorhanden ist. Auf einigen Systemen können
Linux
Sie beispielsweise die Austauschbarkeit steuern , auf anderen nicht. Durch das Austauschen von Daten, wenn noch genügend RAM vorhanden ist, bereitet sich das System auf seine eigene Weise auf die Situation vor, in der möglicherweise kein RAM mehr zur Verfügung steht.Das Deaktivieren der Auslagerungsfunktion kann zu einer Leistungsverbesserung führen, da Sie nur den RAM verwenden, der schneller ist, als Sie bereits gesagt haben.
Eine Sache, die Sie berücksichtigen sollten (und die Sie bereits erwähnt haben): Sie müssen über genügend Arbeitsspeicher verfügen , um alle von Ihnen ausgeführten Programme aufnehmen zu können. Andernfalls besteht die Gefahr, dass Ihnen der Arbeitsspeicher ausgeht . In diesem Fall sinkt die Leistung, einige Prozesse werden möglicherweise vom Betriebssystem beendet und das System kann abstürzen / einfrieren. (Lesen Sie mehr darüber hier )
Auf einigen Computern, insbesondere solchen, die die Auslagerungsdatei auf der Festplatte und nicht auf der SSD speichern, ist der Effekt des Deaktivierens der Auslagerungsfunktion sehr deutlich. Bei anderen ist es nicht so offensichtlich. Aber auch wenn Sie keine offensichtliche Verbesserung erzielen, denken Sie anders darüber nach. Durch Deaktivieren des Austauschs sparen Sie Speicherplatz auf Ihrer SSD.
Durch Deaktivieren der Auslagerung verhindern Sie außerdem, dass Speicheralgorithmen unnötige Vorgänge ausführen - Verschieben von Daten vom RAM zum Auslagerungsspeicher und umgekehrt - im Falle einer SSD wird ein übermäßiger Verschleiß verhindert. In jedem Fall wird dadurch die Leistung verbessert, indem unnötige Vorgänge vermieden werden.
Lesen Sie auch:
quelle
Können Sie die Auslagerungsdatei sicher deaktivieren?
Wenn Ihnen der freie Speicher, einschließlich des virtuellen Speichers, ausgeht, kann das System die deterministische Ausführung nicht mehr garantieren und beendet sich von selbst. Zuvor führt das Betriebssystem verschiedene andere Aktionen aus, z. B. das Beenden von Programmen, die zu viel Speicher belegen. Was ich sagen möchte ist, dass der Speicher immer endlich ist und jedes Betriebssystem damit umgehen kann. Das Beschränken des verfügbaren Arbeitsspeichers auf 64 GB schadet Windows daher nicht - viele Systeme können selbst mit einer Auslagerungsdatei nicht mehr als 8 GB erreichen, da die Auslagerungsdatei bei 1 oder 2 GB RAM normalerweise viel kleiner als 6 oder 7 GB ist. Es sollte beachtet werden, dass der Overhead des Betriebssystems, das eine Auslagerungsdatei verwaltet, nicht messbar ist, solange Sie über eine übermäßige Menge an nicht verwendetem RAM verfügen.
Ist es sinnvoll, die Auslagerungsdatei auf einer Ramdisk zu speichern?
Um den verfügbaren Speicherplatz zu erhöhen, verwenden die meisten, wenn nicht alle fortgeschrittenen Betriebssysteme eine Art Auslagerungsdatei, in der sie Speicherplatz beanspruchen , der sich im RAM befindet und auf den eine Weile nicht zugegriffen wurde. Schreiben Sie den Speicher auf die Festplatte (Auslagerungsdatei oder Auslagerungsdatei ) und Löschen Sie den Speicher aus dem RAM, damit schneller Speicher verfügbar ist. Die Auslagerungsdatei wird verwendet, um die maximale Größe des Speichers über die Größe des verfügbaren RAM hinaus zu erweitern.
Die Verwendung einer Ramdisk (die den verfügbaren Arbeitsspeicher um die Größe der Ramdisk verringert) als Host für die Auslagerungsdatei (die den verfügbaren Arbeitsspeicher um die Größe der Auslagerungsdatei erhöht) funktioniert zwar, macht aber wenig Sinn. Es bietet nicht mehr Speicher als das Deaktivieren der Auslagerungsdatei, das System muss jedoch weiterhin Paging-Algorithmen ausführen.
quelle
Um zu wiederholen, was andere gesagt haben, ist das Verschieben von Swap auf eine gerade RAM-Disk ziemlich sinnlos (im häufigsten Fall siehe unten). Es wird erreicht, dass zu einem bestimmten Zeitpunkt, wenn das System keinen freien Speicher mehr hat, einige Daten auf ineffiziente Weise von RAM zu RAM verschoben werden.
Wenn Sie die Festplatte / SSD tauschen, kann das Betriebssystem einige nicht verwendete RAM-Seiten löschen und den freigegebenen Speicherplatz für z. B. Dateicache oder andere Systempuffer verwenden. Möglicherweise stellen Sie nicht fest, dass das System weniger dieser RAM-Puffer zuweist, da Ihnen ohne eine Auslagerungsdatei kein virtueller Speicher zur Verfügung steht. In der Tat können Sie Ihre Leistung beeinträchtigen, indem Sie Swap deaktivieren.
Eine komprimierte RAM-Platte als Auslagerungslaufwerk , ein "ZSWAP" -Laufwerk, kann jedoch in Randfällen (in denen Sie möglicherweise nur ein paar zusätzliche MB RAM benötigen, um ein Auslagern auf die Festplatte zu vermeiden) von Vorteil sein, indem die Speichereffizienz eines RAM-Segments auf ein erhöht wird gewissem Umfang.
quelle
Wenn Sie keine Auslagerungsdatei haben, kann Windows im Falle eines BSOD (Absturz) die Absturzabbilddatei nicht schreiben. Dies bedeutet, dass Sie das Problem nicht mit den entsprechenden Tools analysieren können.
Die Auslagerungsdatei im RAM zu haben, ist so gut wie nutzlos, da sie beim Absturz verloren gehen kann.
Weitere Informationen finden Sie im Microsoft-Artikel Grundlegendes zu Absturzabbilddateien .
quelle
Für Windows aus dem Pferdemund:
https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/
quelle
Deaktivieren Sie die Auslagerungsdatei nicht. Dies gilt nicht nur, wenn Ihnen der Arbeitsspeicher ausgeht. Das Ausschalten hat keine direkte Leistungssteigerung zur Folge. Windows liest nur dann, wenn dies erforderlich ist. Es schreibt die ganze Zeit darauf, sodass es immer bereit ist, wenn es benötigt wird.
Sie können die Speicherkapazität auf etwa 2/3 der Speicherkapazität reduzieren, wenn Sie über mehr als 4 GB verfügen, da das Speicherbild komprimiert gespeichert wird. Sie können es auf Ihrer langsameren Festplatte ablegen, auf die von keinem anderen Festplattenzugriff zugegriffen wird, wenn auf einer SSD kein Speicherplatz vorhanden ist. Aber es ist von Vorteil, irgendwo einen zu haben.
In dieser Antwort erfahren Sie mehr darüber, warum. https://superuser.com/a/286476/4236
quelle
Theoretisch sollte es keinen Sinn machen, die Auslagerungsdatei in den Arbeitsspeicher zu verschieben, da Sie nur das verbrauchen, was Sie angeblich gewonnen haben. Windows geht davon aus, dass die Auslagerungsdatei für solche Zwecke nicht verwendet wird.
In der Praxis schaffen es fehlerhafte Designs und Philosophien sogar in den Windows-Kernel, und die Speicherverwaltung von Microsoft ist nicht unbedingt perfekt. Viele haben festgestellt, dass das Einfügen der Auslagerungsdatei in eine Ramdisk tatsächlich zu einer Leistungssteigerung führt , solange Sie über ausreichend Arbeitsspeicher verfügen.
Ich habe einen Beitrag zusammengestellt, in dem eine Sammlung solcher Benutzer aus einem einzelnen Forenthread aufgeführt ist, die festgestellt haben, dass die Auslagerungsdatei trotz der großen Menge an freiem Arbeitsspeicher weiterhin verwendet wird:
http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589
quelle
Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.
Ja, als ob: pDas Konvertieren eines Betriebssystems, das von Anfang an so konzipiert wurde, dass es keinen Swap verwendet, ist viel schwieriger als es sich anhört.
Moderne Macs verfügen über eine Wiederherstellungspartition - Teil des Hauptlaufwerks mit einem abgespeckten Betriebssystem, mit dem das Hauptsystem repariert oder wiederhergestellt werden kann. In den Tagen, in denen das DVD-Installationsprogramm einen benutzerdefinierten Prozess ausführte, erstellt das System jetzt eine RAM-Disk für die Auslagerungspartition, da dem Installationsprogramm nicht garantiert werden kann, dass Arbeitsspeicherplatz verfügbar ist. Das Betriebssystem enthält die erforderlichen Frameworks zum Ausführen der enthaltenen Wartungssoftware, die mit den nach der Installation verfügbaren Dienstprogrammen identisch ist. Viel weniger Arbeit für alle.
Wenn Sie das System auf jeweils eine Anwendung beschränken, wird der Ramdisk-Swap im Grunde genommen nie verwendet, aber das Betriebssystem erwartet, dass er vorhanden ist.
quelle
Wenn Sie über genügend Speicher verfügen, lautet die Antwort "Ja". Sie können den Swap deaktivieren. Swap wurde entwickelt, um die Einschränkungen des Arbeitsspeichers zu überwinden und dessen Nutzung effizienter zu gestalten.
Die Frage ist nun, wie viel RAM ist genug RAM? Es gibt keine allgemeingültige Antwort darauf und von Natur aus sind Systeme hungrig nach Erinnerung. Deaktivieren Sie Swap daher nicht, es sei denn, Sie arbeiten in einer bestimmten und kontrollierten Umgebung.
Jede andere Art von Stunt wie das Setzen von Swap auf RAM erzeugt nur eine zusätzliche Komplexitätsebene und verbraucht Speicher, der sonst direkt verwendet werden könnte.
quelle
Mein System verfügt über 24 GB RAM. Aus diesem Grund habe ich die Auslagerungsdatei deaktiviert, um die Abnutzung meiner SSD zu verhindern, ohne dass Probleme auftreten. Ich habe kürzlich eine RAM-Disk erstellt, auf der 4 GB Arbeitsspeicher zum Speichern von Google Chrome-Cache-Dateien verwendet wurden, um festzustellen, ob dadurch die Leistung von Online-Flash-Player-Spielen und das allgemeine Surfen im Internet verbessert wird. Ich habe durch dieses Experiment eine deutliche Leistungssteigerung festgestellt. Da mehr Speicherplatz auf meiner RAM-Disk verfügbar war, habe ich meine Auslagerungsdatei aktiviert und sowohl die minimale als auch die maximale Größe auf 1 GB festgelegt und auf die RAM-Disk verschoben. Obwohl ich nicht sagen kann, dass es Leistungssteigerungen gab, scheint mein System stabiler zu laufen.
quelle
Das Verschieben der Auslagerungsdatei in den Arbeitsspeicher ist eine lächerliche Idee. Schalten Sie sie einfach aus und erhöhen Sie den Arbeitsspeicher. :)
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
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.
quelle