Ich möchte die Größe der Auslagerungsdatei optimieren, damit sie meinen tatsächlichen Anforderungen entspricht. Und ich möchte der von Mark Russinovich vorgeschlagenen Formel folgen:Das Minimum sollte Peak Commit minus physischem RAM sein, das Maximum sollte das Doppelte davon betragen.
Um sicherzugehen, dass ich alles richtig mache, möchte ich folgendes klarstellen:
1) Ist diese rote Zahl das von Herrn Russinovich erwähnte Peak Commit?
Auf dem Bildschirm befindet sich das Fenster Systeminformationen desProcess Explorer
2)Unter Systemsteuerung > System steht, dass meinDer installierte Arbeitsspeicher beträgt 4 GB, davon sind nur 2,45 GB nutzbarUnd natürlich beträgt mein gesamter physischer Speicher im Task-Manager auch 2509 MB. Das liegt daran, dass mein Betriebssystem 32-Bit ist. Also,verstehe ich richtig, dass diese 2509 (nicht diese 4 GB) die Zahl ist, die ich zur Berechnung meiner Auslagerungsdateigröße verwenden sollte?
Ich weiß, dass das vielleicht eine dumme Frage ist, aber wie ich schon sagte, möchte ich sicherstellen, dass ich es richtig mache.
Vielen Dank.
Antwort1
Sie meinen zweifellos„Die Grenzen von Windows erweitern: Virtueller Speicher“von Mark Russinovich.
- Ja, das ist die Nummer.
- Ja, Ihnen stehen nur 2,5 GB RAM zur Verfügung (ungefähr – übermäßige Genauigkeit ist hier nicht erforderlich).
Sie schreiben jedoch von „richtigem Handeln“. Ich muss darauf hinweisen, dass es in Marks Artikel darum geht, „die Grenzen zu überschreiten“, und diese Formel gibt Ihnen eineabsolutes Minimumfür die Größe der Auslagerungsdatei. Wenn Sie möchten, dass Ihr System gut funktioniert, sollten Sie die Grenzen nicht überschreiten.
Es gibt in diesem Artikel keine Empfehlung, die besagt, dass SiesollenMachen Sie die Einstellungen so klein. Nur, dass Sie damit durchkommen, wenn Sie es wirklich wollen. (Vorausgesetzt, Sie brauchen nie mehr dedizierten Speicher.)
(Und Sie brauchen vielleicht noch mehr. Denken Sie daran, dass dieser „Spitzenwert“, den Sie hier gesehen haben, nur der Spitzenwert für die Dauer des Process Explorer-Laufs ist. Er ist nur dann sinnvoll, wenn Sie während dieser Zeit zufällig Ihre maximale App-Arbeitslast ausführen. Das bedeutet nicht nur, dass Sie alle Apps gleichzeitig starten müssen, von denen Sie denken, dass Sie sie jemals ausführen werden. Sie müssen auch dafür sorgen, dass jede App den maximalen privaten Speicher („festgelegten“ Speicher) verwendet, den Sie ihr jemals abverlangen werden. Das ist schwierig einzurichten und zu testen. Und wer sagt, dass Sie nie eine weitere App zu Ihrer typischen Arbeitslast hinzufügen werden? Die Informationen, die Sie mit Überwachungstools erhalten, bieten also keine Garantie dafür, dass Sie absolut nie mehr benötigen werden.)
Beachten Sie, dass, wenn Sie diesen Peak tatsächlich erneut erreichen und die Auslagerungsdatei auf das von Ihnen so berechnete Minimum eingestellt ist, im RAM kein Platz für den von zugeordneten Dateien verwendeten RAM vorhanden ist – wie etwa Codedateien wie EXEs und DLLs. (Dies liegt daran, dass die Anzahl des „festgelegten“ virtuellen Speichers keine Codeseiten oder andere Seiten umfasst, die von zugeordneten Dateien unterstützt werden.) Da Code zur Ausführung im RAM sein muss, ist dies ein Problem.
Ok, da Sie die Auslagerungsdateierweiterung aktivieren, ist dies kein „Showstopper“-Problem. Aber es wird sicherlich die Leistung beeinträchtigen.
Wenn Sie also nicht aus akademischen Gründen versuchen, die absolut minimale Auslagerungsdateigröße zu demonstrieren, die unabhängig von Leistungsproblemen nicht zu App-Abstürzen führt, würde ich es nicht so machen. (Mir fällt kein praktischer Grund dafür ein.)
Wenn Sie wirklich alles auf ein Minimum reduzieren möchten,praktischMinimum, d. h. ohne Einschränkung des für Code verfügbaren RAM, stellen Sie einfach die Mindestgröße Ihrer Auslagerungsdatei auf die von Ihnen beobachtete maximale Commit-Gebühr ein. Das bedeutet, dass immer noch RAM für Code verfügbar ist, auch wenn Apps und das Betriebssystem so viel Commit-Speicher erstellt haben (und vollständig darauf verwiesen haben).
Es gibt auch keinen Grund, die Maximalgröße auf das Zweifache der Mindestgröße zu begrenzen, es sei denn, Sie legen großen Wert auf die Festplattennutzung.
Sie sehen, es schadet nicht (abgesehen vom Speicherplatzverbrauch), eine Auslagerungsdatei zu haben, die größer ist, als das System jemals benötigen wird. Insbesondere wird eine größere Auslagerungsdatei als nötig nicht mehr Auslagerungen „anziehen“. Und es hat keinen Vorteil, sie gerade so groß genug zu machen (wiederum abgesehen vom Speicherplatzverbrauch). Warum also die Mühe? Das heißt, Sie „optimieren“ nichts außer dem Speicherplatz, der durch diese Übung belegt wird.
Da das Überschreiten des Commit-Limits zu App-Abstürzen (und damit zu Datenverlust) und in seltenen Fällen sogar zu Systemabstürzen führen kann, wäre ich nicht annähernd so sehr daran interessiert, meine Auslagerungsdatei so klein wie möglich zu halten.
Wenn das System andererseits viel in die Auslagerungsdatei schreiben muss – und das wird auf einem Windows 7-System mit nur 2,5 GB nutzbarem RAM wahrscheinlich der Fall sein –, beschleunigt eine Auslagerungsdatei, die wesentlich größer ist als das System jemals verwenden wird, die Dinge. Warum? Weil der für die Auslagerungsdatei verwendete Speicherplatzzuweisungsalgorithmus viel schneller sein kann, wenn viel freier Speicherplatz vorhanden ist.
Aus diesem Grund möchte ich, dass der PerfMon-Zähler für die prozentuale Auslastung der Auslagerungsdatei unter 25 Prozent bleibt.