Ich habe mich immer gefragt, warum Windows es Ihnen nicht erlaubt, eine beliebige Größe für den Dateisystemcache festzulegen. Was ist, wenn Sie eine langsame Festplatte in Ihrem Laptop haben, aber viel verfügbaren Systemspeicher? Sollten Sie nicht in der Lage sein, diesen Speicher zu maximieren, um den Festplattenzugriff zu beschleunigen?
Ich habe eine leicht dokumentierte Optimierung gefunden, mit der Sie Windows anweisen können, mehr Cache für den NTFS- „Pool“ zu verwenden, was die Leistung erhöhen sollte, wenn Ihr System ständig viele Dateien öffnet und schließt wie meine.
Gemäß der Microsoft-Dokumentation:
Die Erhöhung des physischen Speichers erhöht nicht immer die Menge an ausgelagertem Poolspeicher, die für NTFS verfügbar ist. Wenn Sie memoryusage auf 2 setzen, wird das Limit des ausgelagerten Poolspeichers erhöht. Dies kann die Leistung verbessern, wenn Ihr System viele Dateien im selben Dateisatz öffnet und schließt und nicht bereits große Mengen an Systemspeicher für andere Anwendungen oder für den Cache-Speicher verwendet. Wenn Ihr Computer bereits große Mengen an Systemspeicher für andere Anwendungen oder für den Cache-Speicher verwendet, verringert die Erhöhung der Begrenzung des ausgelagerten und nicht ausgelagerten NTFS-Poolspeichers den verfügbaren Poolspeicher für andere Prozesse. Dies kann die Gesamtleistung des Systems beeinträchtigen.
Ich werde diese Änderung selbst testen und hoffe sehr, Feedback von unseren ausgezeichneten Lesern zu diesem Thema zu erhalten. Bitte beachten Sie, dass ich noch keine Benchmarks durchgeführt habe, sodass ich noch nicht bestätigen kann, dass dies einen großen Vorteil für die reale Leistung bringt.
Command Line Hack
Öffnen Sie eine Eingabeaufforderung im Administratormodus, indem Sie mit der rechten Maustaste klicken und Als Administrator ausführen auswählen, oder geben Sie cmd in das Suchfeld des Startmenüs ein und verwenden Sie Strg + Umschalt + Eingabetaste.
Geben Sie den folgenden Befehl ein, um die Cache-Einstellung zu erhöhen:
fsutil verhalten set memoryusage 2
Um den aktuellen Wert zu überprüfen, geben Sie diesen Befehl ein:
fsutil-Verhaltensabfrage memoryusage
Verwenden Sie diesen Befehl, um die Einstellung wieder auf den Standardwert zurückzusetzen:
fsutil Verhalten set memoryusage 1
Wie immer können diese „leicht“ dokumentierten Einstellungen Ihr System vermasseln. Außerdem müssen Sie wahrscheinlich den Computer neu starten, um einen Unterschied zu erkennen.
Manueller Registrierungshack
Sie können diesen Wert auch festlegen, indem Sie einen Registrierungsparameter ändern. Öffnen Sie regedit.exe durch das Startmenü suchen oder ausführen Feld, und navigieren Sie dann nach unten auf die folgende Taste:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Dateisystem
Doppelklicken Sie auf den Schlüssel NtfsMemoryUsage auf der rechten Seite und ändern Sie den Wert in 2. Hier sind die verfügbaren Werte:
- Nicht gesetzt: 0
- Auf Standard gesetzt: 1
- Cache erhöhen: 2
Laut Dokumentation ist die Standardeinstellung „1“, aber standardmäßig ist der Schlüssel auf „0“ gesetzt. In diesem Szenario bedeutet die Einstellung „0“ normalerweise „Nicht festgelegt“, was bedeutet, dass das System die Standardeinstellung verwendet. Sie sollten in der Lage sein, den Wert entweder auf „0“ oder „1“ zu ändern, um dies wieder auf den Standardwert zu ändern.
Diese Einstellung funktioniert auch in Windows Server 2003.