it-swarm.com.de

Sollte ich die Auslagerungsdatei deaktivieren, wenn ich viele habe? RAM or sollte ich es in ein virtuelles verschieben RAM Fahrt?

Stellen Sie sich vor mir Tonnen RAM. Sagen wir 64GB. Das ist auch für Gaming-PCs eine Menge. Nun ist die Standardposition einer Auslagerungsdatei in Windows ist auf dem Haupt OS-Laufwerk, sei es HDD oder SSD, die im Allgemeinen schneller sind, aber immer noch nicht so schnell wie RAM.

Etwas sagt mir, dass auf der Festplatte die Auslagerungsdatei zu deaktivieren oder eine virtuelle Erstellung RAM-Laufwerk und lassen die Auslagerungsdatei da sein könnte Windows-all seinen virtuellen Speicher machen bewegen, in den RAM und so die Leistung des Systems zu erhöhen, aber ich ist nicht sehr kompetent in diesem Bereich, so dass nicht sein könnte wahr.

Ich habe versucht, beide, aber ich kann nicht die Ergebnisse analysiert, um eine endgültige Schlussfolgerung mit meinem Wissensstand im Speicher Dinge zu erreichen.

Würde das funktionieren? Wenn nein, warum?

95
user1306322

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, 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 hat sie physikalische RAM zu unterstützen Zuweisungen zu reservieren, die sehr unwahrscheinlich sind immer es erfordern (zum Beispiel eine private, modifizierbar Dateizuordnung), zu einem Fall führt, wo Sie viele kostenlose physischen haben RAM und noch Zuweisungen Overcommit verweigert zu vermeiden.

Angenommen, ein Programm erstellt eine beschreibbare Zuordnung des privaten Speichers einer 4-GB-Datei. Das Betriebssystem hat 4 GB RAM für diese Zuordnung zu buchen, weil das Programm könnte möglicherweise jedes Byte ändern und es gibt keinen Platz, aber RAM zu speichern. 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 handelt sich um eine Versicherungspolice, die es dem Betriebssystem ermöglicht, das vorhandene RAM tatsächlich zu verwenden, anstatt es 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.

133
David Schwartz

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 wie Linux können Sie swappiness 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 daher zu einer Leistungsverbesserung führen, da Sie nur RAM verwenden, was schneller ist, als Sie bereits sagten.

Eine Sache, die Sie berücksichtigen sollten (und die Sie bereits erwähnt haben): Sie müssen genug RAM haben, um alle Programme aufzunehmen, die Sie ausführen. Andernfalls riskieren Sie, aus) auszuführen Erinnerung . 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 Rechnern, insbesondere solchen, die die Auslagerungsdatei auf der Festplatte und nicht auf der SSD speichern, ist der Effekt der Deaktivierung der Auslagerungsdatei 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 sich Speicherplatz auf Ihrer SSD.

Durch Deaktivieren des Austauschs verhindern Sie außerdem, dass Speicheralgorithmen unnötige Operationen ausführen - Verschieben von Daten von RAM zum Austauschen 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:

31
Art Gertner

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 mit 1 oder 2 GB RAM normalerweise viel kleiner als 6 oder 7 ist GB. 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 benötigen, der sich in RAM befindet und auf den eine Zeit lang nicht zugegriffen wurde. Schreiben Sie den Speicher auf die Festplatte (Swapfile, auch bekannt als "Swapfile") 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.

Daher funktioniert die Verwendung einer Ramdisk (die den verfügbaren Arbeitsspeicher um die Größe der Ramdisk verringert) zum Hosten der Auslagerungsdatei (die den verfügbaren Arbeitsspeicher um die Größe der Auslagerungsdatei erhöht), macht jedoch wenig Sinn. Es bietet nicht mehr Speicher als das Deaktivieren der Auslagerungsdatei, das System muss jedoch weiterhin Paging-Algorithmen ausführen.

14
Peter

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 nach RAM verschoben werden.

Wenn Sie die Festplatte/SSD tauschen, kann das Betriebssystem einige völlig unbenutzte RAM Seiten löschen und den freigegebenen Speicherplatz für z. Datei-Cache oder andere Systempuffer. 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 Festplatte als Auslagerungslaufwerk , ein "ZSWAP" -Laufwerk, kann jedoch in Edge-Fällen nützlich sein (in denen Sie möglicherweise nur ein paar zusätzliche MB RAM benötigen) Vermeiden Sie das Auslagern auf eine Festplatte, indem Sie die Speichereffizienz eines Segments von RAM bis zu einem gewissen Grad verbessern.

8
demonkoryu

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 in RAM zu haben, ist so gut wie nutzlos, da sie beim Absturz verloren gehen kann.

Weitere Informationen finden Sie im Microsoft-Artikel Grundlegendes zu Crash-Dump-Dateien .

5
harrymc

Für Windows aus dem Pferdemund:

Einige glauben, dass das Fehlen einer Auslagerungsdatei zu einer besseren Leistung führt. Im Allgemeinen bedeutet das Vorhandensein einer Auslagerungsdatei jedoch, dass Windows Seiten in die geänderte Liste schreiben kann (die Seiten darstellen, auf die nicht aktiv zugegriffen wird, die jedoch nicht auf der Festplatte gespeichert wurden) Auslagerungsdatei, wodurch dieser Speicher für nützlichere Zwecke (Prozesse oder Dateicache) verfügbar wird. Während es möglicherweise einige Workloads gibt, die ohne Auslagerungsdatei eine bessere Leistung erbringen, bedeutet eine solche im Allgemeinen, dass dem System mehr Speicher zur Verfügung steht (egal, dass Windows keine Kernel-Absturzabbilder ohne Auslagerungsdatei schreiben kann groß genug, um sie zu halten).

https://blogs.technet.Microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • nutzbarer Arbeitsspeicher - obwohl dies die Verwendung eines virtuellen Arbeitsspeichers empfiehlt, wird auch empfohlen, dass Sie sehr viel RAM benötigen, um sicherzugehen, dass keine Auslagerungsdatei/kein virtueller Arbeitsspeicher vorhanden ist. Ich habe 4 GB RAM 128 GB SSD ohne Auslagerungsdatei, verwende sie jedoch zum Surfen im Internet und zum Eingeben von Word-Dokumenten.
4
user127379

Deaktiviere die Auslagerungsdatei nicht Dies gilt nicht nur, wenn dir der Speicher ausgeht. Es gibt wieder keinen Gewinn direkte Leistung beim Drehen , nur die Fenster von ihm lesen, wenn er sich braucht, schreibt es Zeit, den alle so dass es bereit ist, wenn es gebraucht wird.

Sie können die Speicherkapazität auf etwa 2/3 der Speicherkapazität reduzieren, wenn Sie mehr als 4 GB haben, da das Speicherabbild 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

3
JamesRyan

Theoretisch sollte es keinen Sinn machen, die Auslagerungsdatei in RAM zu speichern, da Sie nur das verbrauchen, was Sie angeblich erhalten haben, und Windows basiert auf der Annahme, dass die Auslagerungsdatei für solche Zwecke nicht verwendet wird .

Jedoch fehlerhaft Design und Philosophie kann es auch in dem Windows-Kernel machen, und Microsofts Management von Speicher in der Praxis nicht unbedingt perfekt. Viele haben festgestellt, dass in eine Ramdisk die Auslagerungsdatei setzen in der Tat in einer Leistungssteigerung führt , solange Sie eine anständige Menge an Speicher.

Ich habe einen Beitrag zusammengestellt, in dem eine Sammlung von Benutzern aus einem single -Forum aufgeführt ist, die festgestellt haben, dass die Auslagerungsdatei trotz massiver Mengen an RAM 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

3
Dan W

Das 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.

2
peter

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 von RAM zu überwinden und seine Verwendung 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 ansonsten direkt verwendet werden könnte.

2
nsn

Das Verschieben der Auslagerungsdatei nach RAM ist ein lächerlicher Gedanke. Schalten Sie sie einfach aus und erhöhen Sie den RAM-Speicher. :)

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, niemand hat darüber nachgedacht, wie oft dieser Blog verwiesen wurde

  • Die Auslagerungsdatei und die Lage wird von Windows, das Einfangen von Speicherzugriff auf Stellen behandelt, die auf der Festplatte ausgelagert worden wäre, die von der CPU aufgefangen werden, sondern übergibt an das Betriebssystem die Seite von der Platte abgerufen wird und laden Sie es in.

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 begrenzt durch die Hardware, auf der es läuft. 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 alles, was dieRAMCPU mit 32 DRAM-Pins verwenden kann, aber für einen 32-Bit-Prozess stehen 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. Weil 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 aber irgendwo von der CPU gespeichert werden.

Die CPU kann nicht alle 4 GB RAM an die App weitergeben, aber es kann4 GB an Adressen vergeben, wenn die Festplatte als sekundärer Cache verwendet wird (das ist alles, was die Festplatte wirklich ist)

Die Seiten werden durch den internen Paging-Mechanismus in RAM verschoben, aber dies ist 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 im Wesentlichen RAM Cache-Level 1, die Festplatte ist Level 2 (ohne Berücksichtigung des CPU-Cache für diese Analogie). Beides ist für die CPU zugänglich.

Wenn nicht genug RAM für die CPU verfügbar ist, 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 Core 2 hatten Intel-Prozessoren einen 32-Pin-DRAM-Bus und 32 Register, was bedeutet, dass die CPU auf 4 GB RAM und 4 GB Festplattenspeicher (Auslagerungsdatei) zugreifen konnte. 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 unter 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 mit Links).

 enter image description here http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html

 enter image description here

 enter image description here

3. Screenshot-Quelle: System V-Anwendungsbinärschnittstelle AMD64 Architecture Processor 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 herstellen. Vorschläge sind willkommen. Bitte stimmen Sie nicht ab, nur weil dies möglicherweise nicht der Fall ist so gut geschrieben.

1
Robert Fischer

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 -Diskette erstellt, auf der 4 GB Arbeitsspeicher zum Speichern von Google Chrome-Cache-Dateien verwendet wurden, um zu überprüfen, ob dadurch die Leistung von Online-Flash Player-Spielen und das allgemeine Surfen im Internet verbessert werden. Ich habe durch dieses Experiment eine deutliche Leistungssteigerung festgestellt. Da auf meinem RAM Datenträger mehr Speicherplatz verfügbar war, habe ich meine Auslagerungsdatei aktiviert und sowohl die minimale als auch die maximale Größe auf 1 GB festgelegt und auf den RAM Datenträger verschoben. Obwohl ich nicht sagen kann, dass es Leistungssteigerungen gab, scheint mein System stabiler zu laufen.

1
Michael