Ich habe mich immer gefragt, warum Sie in Windows keine beliebige Größe für den Dateisystem-Cache festlegen können. Was ist, wenn Ihr Laptop eine langsame Festplatte hat, aber viel Systemspeicher zur Verfügung steht? Sollten Sie diesen Speicher nicht maximieren können, 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. Dies sollte die Leistung steigern, wenn Ihr System wie ich ständig viele Dateien öffnet und schließt.
Entsprechend der Microsoft documentation :
Durch Erhöhen des physischen Speichers wird nicht immer die Menge des für NTFS verfügbaren ausgelagerten Poolspeichers erhöht. Rahmen Speichernutzung zu 2 erhöht das Limit des ausgelagerten Poolspeichers. Dies kann die Leistung verbessern, wenn Ihr System viele Dateien in derselben Dateigruppe ö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, wird durch Erhöhen des Grenzwerts für NTFS-ausgelagerten und nicht ausgelagerten Poolspeicher der verfügbare Poolspeicher für andere Prozesse verringert. Dies kann die Gesamtsystemleistung verringern.
Ich werde diese Änderung selbst testen und hoffe wirklich, Feedback von unseren hervorragenden Lesern zu dieser Änderung zu erhalten. Bitte beachten Sie, dass ich noch keine Benchmarks durchgeführt habe. Daher kann ich noch nicht bestätigen, dass dies einen wesentlichen Vorteil für die reale Leistung bringt.
Kommandozeilen-Hack
Öffnen Sie eine Eingabeaufforderung für den Administratormodus, indem Sie mit der rechten Maustaste klicken und Als Administrator ausführen auswählen oder eingeben cmd in das Suchfeld des Startmenüs und drücken Sie Strg + Umschalt + Eingabetaste.
Geben Sie den folgenden Befehl ein, um die Cache-Einstellung zu erhöhen:
fsutil Verhalten set memoryusage 2
Geben Sie den folgenden Befehl ein, um den aktuellen Wert zu überprüfen:
fsutil Verhaltensabfrage Speicherauslastung
Verwenden Sie diesen Befehl, um die Einstellung auf die Standardeinstellung zurückzusetzen:
fsutil Verhalten set memoryusage 1
Wie immer können diese „leicht“ dokumentierten Einstellungen Ihr System vermasseln. Führen Sie dies daher auf eigenes Risiko durch. Außerdem müssen Sie den Computer wahrscheinlich neu starten, um einen Unterschied festzustellen.
Manueller Registrierungs-Hack
Sie können diesen Wert auch festlegen, indem Sie einen Registrierungsparameter ändern. Öffnen Sie regedit.exe über das Startmenü-Such- oder Ausführungsfeld und navigieren Sie dann zu der folgenden Taste:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
Doppelklicken Sie auf der rechten Seite auf den Schlüssel NtfsMemoryUsage und ändern Sie den Wert in 2. Hier sind die verfügbaren Werte:
- Nicht eingestellt: 0
- Auf Standard setzen: 1
- Cache erhöhen: 2
Gemäß der 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 ihn wieder auf den Standardwert zurückzusetzen.
Diese Einstellung funktioniert auch in Windows Server 2003.