Muss ich noch virtuellen Speicher verwenden?

4910
Steve Rowe

Ich hätte gedacht, das wäre schon gefragt, aber ich finde es nicht.

Wann brauche ich keinen virtuellen Speicher mehr? Mit 4 GB RAM sehe ich, dass der Computer selten irgendwo in der Nähe des gesamten Speichers arbeitet. An diesem Punkt ist virtueller Speicher nicht unbedingt erforderlich. Besteht Gefahr beim Ausschalten? Gibt es Funktionen, die ich verliere, wenn ich dies tue?

14
** Achtung: ** Den Treibern wird nur eine begrenzte Menge Speicher zur Verfügung gestellt, die als "Nicht-Auslagerungsspeicher" und "Auslagerungspool" (http://bit.ly/rttIee) bezeichnet werden. Eine Seitendatei ist erforderlich, wenn der Seitenbereich voll ist. Als Spieler habe ich gesehen, dass sich ein Spiel über den Speicher des ausgelagerten Pools beschwert, nur weil meine Seitendatei auf einem 8-GB-System deaktiviert wurde. Fazit: ** Seitendateien sind notwendig, sie verhindern die Auslastung von Paged Pools und beschleunigen (beschleunigen Sie) (http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/dont-throw-those-paging-filesaway) .html) Ihr System. ** Tom Wijsman vor 12 Jahren 1

6 Antworten auf die Frage

10
Ram

Siehe Mark Russinovichs Artikel zum virtuellen Speicher. Das sollte Ihnen einen guten Hinweis auf den virtuellen Speicher geben.

Hier ist ein nützlicher Auszug aus dem Link

Woher wissen Sie, wie viel Sie für Ihre Workloads bezahlen müssen? Möglicherweise haben Sie in den Screenshots bemerkt, dass Windows diese Nummer aufzeichnet, und Process Explorer zeigt sie an: Peak Commit Charge. Um eine optimale Größe Ihrer Auslagerungsdatei zu erreichen, sollten Sie alle Anwendungen, die Sie gleichzeitig ausführen, starten, typische Datensätze laden und dann die Höchstgebühr für die Festschreibungsgebühr notieren (oder diesen Wert nach einem Zeitraum betrachten, in dem Sie wissen, dass die maximale Last erreicht wurde) . Legen Sie für die Auslagerungsdatei den Mindestwert für diesen Wert minus den RAM-Speicher in Ihrem System fest. Wenn der Wert negativ ist, wählen Sie eine Mindestgröße aus, um die Art des Absturzabbilds zuzulassen, für das Sie konfiguriert sind. Wenn Sie etwas Atempause für potenziell große Commit-Anforderungen haben möchten, setzen Sie das Maximum auf das Doppelte dieser Anzahl.

+1 für Mark Russinovich Referenz. Immer eine gute Lektüre. mrduclaw vor 14 Jahren 0
9
foraidt

Da Speicher auf Desktop-PCs / Laptops nicht mehr nur eine spärliche Ressource ist, bezweifle ich, dass die meisten Programme Out-of-Memory-Zustände ordnungsgemäß verarbeiten können und stattdessen abstürzen werden.
Also: gefährlich? Ja, wenn Ihre 4 GB irgendwie aufgebraucht sind und Sie keine Auslagerungsdatei haben, können Anwendungen abstürzen.
Und wie Zorans Beispiel zeigt, kann es schwierig sein, das Problem später zu identifizieren.

In dem Artikel, auf den sich Ram bezieht, heißt es auch, dass das Deaktivieren des Swapping normalerweise nicht die Geschwindigkeit erhöht und stattdessen das Gegenteil tun kann :

Zwar kann es einige Workloads geben, die ohne Auslagerungsdatei eine bessere Leistung erbringen, im Allgemeinen bedeutet dies, dass mehr nutzbarer Speicher für das System verfügbar ist

Ich muss den Artikel auf der MS-Site ausgraben, aber MS sagt, Sie sollten immer eine Auslagerungsdatei haben. Selbst bei Systemen mit hohem Arbeitsspeicher kann Ihre Maschine langsamer laufen. Keltari vor 11 Jahren 0
3
MartW

Dieser klassische Beitrag zu ServerFault hat einige gute Punkte. Für nur 4 GB würde ich die Auslagerungsdatei alleine lassen, und der Speicherplatz auf der Festplatte ist auf jeden Fall gering.

3
Zoran

Ich empfehle, die Einstellungen des virtuellen Speichers auf ihren Standard zu belassen. Ich habe 8 GB RAM und habe den virtuellen Speicher deaktiviert, weil ich dachte, ich würde an Geschwindigkeit gewinnen (weil kein Swapping durchgeführt wurde), aber es stellte sich heraus, dass mein System weniger stabil wurde (und ich dies auf zwei Computern tat, ähnliches Ergebnis). Ich hatte ungefähr eine BSOD pro Woche auf beiden Maschinen. Ich begann, die produzierten Minidumps zu untersuchen und stellte fest, dass alle BSODs durch einen Aufruf einer Routine namens KiPageFault ausgelöst wurden. Also habe ich versucht, die Einstellungen des virtuellen Speichers auf ihre Standardwerte zurückzusetzen, und die regulären BSODs verschwanden.

Ich habe eine Weile gebraucht, um die 2 zu korrelieren, und ich habe keinen wirklichen Beweis dafür, dass die Tatsache, dass ich den virtuellen Speicher ausgeschaltet habe, die BSODs verursacht hat, aber meine Maschinen waren stabiler, nachdem ich sie wieder eingeschaltet hatte ...

Vielen Dank. Es ist gut, echte Ergebnisse zu hören und nicht nur Vermutungen. Steve Rowe vor 14 Jahren 0
0
gnibbler

Kommt darauf an, was Ihre Arbeitsbelastung ist. Ich habe eine Reihe von plattenlosen Frontends für eine Webanwendung eingerichtet. Sie starteten im Netzwerk und liefen alles, was sie brauchten, innerhalb von 8 GB RAM.

Ich habe auch Windows (wahrscheinlich 98) mit 32 MB und ohne Auslagerungsdatei verwendet - natürlich müssen Sie in diesem Speicherplatz leben und Ihre Apps auf die Ressourcen beschränken.

Sie möchten sicherstellen, dass etwas zusätzlicher RAM für den Festplattencache vorhanden ist. Andernfalls kann die Leistung fürchterlich werden.

Ich denke daran, dass es einige Programme gibt, die ohne VM nicht laufen, aber ich habe keine Ahnung, was sie waren

-2
Tyler Durden

Nun, Steve, interessant, dass du das fragen solltest.

Ich werde Ihnen ein kleines Geheimnis verraten: Der Punkt, an dem Sie virtuellen Speicher benötigten, war noch nie. Virtueller Speicher war eine wahnsinnig inkompetente Idee, die von einer Reihe von Akademikern entwickelt wurde, die sich mit praktischen Computersystemen auskannten. Jeder Computer wird wesentlich besser funktionieren, wenn er ohne VM auskommt.

Nun fragen Sie sich vielleicht, ob VMs nutzlos und schädlich sind, warum werden sie von den meisten modernen Betriebssystemen verwendet? Die kurze Antwort auf diese Frage ist, dass die Leute, die sich für die Verwendung von VM entschieden haben, bei Microsoft, Apple und IBM sogar noch dümmer und unerfahrener waren als die Akademiker, die VM erfunden haben und diese auf der Grundlage der gleichen, völlig falschen Annahmen annehmen wollten Wissenschaftler hatten es, als sie es erfunden hatten. Wir könnten anfangen, über diese Annahmen und Missverständnisse zu sprechen, aber wenn sie leicht zu verstehen und zu beschreiben wären, hätten wir das VM-Problem gar nicht erst.

Ich komme zu Ihnen zurück. Unglücklicherweise haben Sie, genau wie die oben genannten Tardnoggins bei Apple und Microsoft, Ihre eigenen falschen Vorstellungen, nämlich die Idee, dass Sie VM ausschalten können. Natürlich können Sie es nicht ausschalten, das würde den ganzen Zweck des Ansteckens aufheben, wenn Sie es einfach ausschalten könnten. Wenn Menschen etwas wirklich Dummes tun, sorgen sie immer dafür, dass es unumkehrbar ist. Wenn jeder VM einfach ausschalten könnte, würden sie das tun, und das würde die Bozos, die sie geschaffen haben, ziemlich dumm aussehen lassen, oder? Sie verhinderten diese Möglichkeit, indem sie sie nicht entfernbar machten, so wie Microsoft den Internet Explorer nicht entfernbar machte.

Was Sie tun können, ist die Größe der Seitendatei zu begrenzen, die natürlich auf das Minimum eingestellt werden sollte, hoffentlich 0. Virtueller Speicher ist immer noch vorhanden, aber Sie können ihn zumindest von sehr, sehr langsam auf sehr, sehr sehr reduzieren langsam, indem Sie ihn bitten, das Festplattenlaufwerk nicht in den Wahnsinn zu involvieren.

Virtueller Speicher ermöglicht viele gute Dinge. Wenn Sie keinen virtuellen Speicher hätten, müssten Sie über ausreichend RAM verfügen, um jedes Byte Code und Daten zu speichern, das von jedem Prozess auf Ihrem System definiert wird, ob es tatsächlich jemals referenziert wurde oder nicht. Da die meisten Programme 90% ihrer Zeit mit 10% ihres Codes und ihrer Daten verbringen, wäre dies eine enorme Verschwendung. Sie würden auch viele andere nützliche Dinge verlieren, die mir das Kommentarformat hier nicht Raum gibt. Der Grund, warum wir den virtuellen Speicher nicht aufgegeben haben, ist, dass er immer noch eine wirklich gute Idee ist. Auch in "praktischen Rechnersystemen". Jamie Hanrahan vor 6 Jahren 0
@ RickBrant Sie klingen wie die Idiot-Elektrotechniker von Intel und IBM, die ich in den 80er Jahren zuhören musste, um zu erklären, warum VM eine gute Idee war. Ich erinnere mich noch an die Zeit, als IBM OS / 2 herausgebracht hat, das erste von VM beschädigte Betriebssystem-Gehirn, bei dem ich hören musste, warum es so eine großartige Idee war. Nun, Gott sei Dank ist OS / 2 gestorben, aber leider ging VM wie ein Zombie weiter, also hier ist es 2017 und ich höre immer noch diesen Unsinn. Ich wette, dass Donuts Donuts sind, aber Sie haben keinen CS-Abschluss Du? Das ist der Witzteil. 99% der Leute, die für VM werben, sind keine Programmierer Tyler Durden vor 6 Jahren 0
Ich war tatsächlich ein Doppelmajor, CS / EE, an einer der besten Tech-Schulen an der Westküste. Heute bin ich meistens Programmierer, interagiere aber mit Hardwaretypen. Haben Sie eine eindeutige Widerlegung dahingehend, dass es sehr verschwenderisch wäre, jedes letzte Byte Code und Daten, die ein Programm definiert, immer im RAM speichern zu müssen, ob es dies benötigt oder nicht? Weil virtueller Speicher das vermeidet. Oder fahren Sie mit persönlichen Angriffen fort, die "Sie müssen ein Idiot sein müssen"? Jamie Hanrahan vor 6 Jahren 0
Oh, und nochmal "OS / 2, welches das erste mit VM geschädigte Betriebssystem-Gehirn war", äh, nein, nicht um etwa zwei Jahrzehnte. Vielleicht das erste weit verbreitete Betriebssystem für PCs. (Aber nicht der erste für "Personal Computer".) Jamie Hanrahan vor 6 Jahren 0