Frage

Wenn Createfile-Funktion ohne die Flagge FILE_FLAG_NO_BUFFERING genannt wird, Was ist die Größe des inneren Puffer des Betriebssystems?

Wenn meine Puffergröße größer ist als der innere Puffer von Windows, kann ich vollständig den Durchsatz von Platten aufbrauchen?

War es hilfreich?

Lösung

Es variiert wahrscheinlich von Windows-Version auf Windows-Version sowie in Abhängigkeit von der Menge des freien RAM. Anstatt sich auf etwas Bestimmtes, sollten Sie einfach tun liest und schreibt mit Puffergrößen, die gut für Ihre Anwendung arbeiten.

Andere Tipps

Es hängt davon ab, wie viel RAM Sie haben und wie die Maschine konfiguriert ist. Die Server sind in der Regel zu privilegieren System-Cache konfiguriert. Sie könnten das ändern, indem Sie den folgenden Registrierungsschlüssel zu ändern

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control \Session Manager \Memory Management] LargeSystemCache

Die SetSystemFileCacheSize Funktion kann verwendet werden, um die Cache-Größe zu verändern . Aber von dem, was ich verstehe, die Arbeitssatzgröße Einstellung ist eher ein Hinweis auf das Betriebssystem als eine harte Grenze.

In Bezug auf Ihre zweite Frage, ich bin nicht ganz sicher, was Sie meinen. Ich sehe nicht, wie die Größe des Puffers Durchsatz auswirken wird, aber ich bin sicher, dass jemand mich korrigieren, wenn ich falsch bin.

Wenn Sie keine Pufferung verwenden, es ist wirklich kein Puffer für die I / O andere als die, die Sie gab lesen / schreiben. (Dies ist komprimierte Dateien mit Ausnahme, die eine andere Kugel aus Wachs ist.)

Das System-Cache in diesem Fall ignoriert wird, weshalb Sie erforderlich sind (siehe

scroll top