Windowsでファイルシステムキャッシュに任意のサイズを設定できないのはなぜだろうかといつも疑問に思っていました。 あなたのラップトップで遅いハードドライブが、利用可能なシステムメモリの負荷を持っている場合はどうなりますか? ハードドライブへのアクセスを高速化するために、そのメモリを最大化することはできませんか?
私は少し文書化された微調整を見つけましたそれはあなたがWINDOWSにNTFSの「プール」のためにより多くのキャッシュを使うように指示することを可能にします、それはあなたのシステムが私のようにいつもたくさんのファイルを開いたり閉じたりするならばパフォーマンスを向上させるはずです。マイクロソフトのドキュメントによると
:
物理メモリを増やしても、NTFSで使用できるページプールメモリの量が常に増加するとは限りません。 Memoryusageを2に設定すると、ページプールメモリの制限が発生します。 システムが同じファイルセット内の多くのファイルを開いたり閉じたりしていて、他のアプリケーションやキャッシュメモリに大量のシステムメ コンピュータが他のアプリケーションまたはキャッシュメモリに大量のシステムメモリを既に使用している場合は、NTFSページプールメモリと非ページプールメモリの制限を増やすと、他のプロセスで使用可能なプールメモリが減少します。 これにより、システム全体のパフォーマンスが低下する可能性があります。
私はこの変更を自分でテストしています。 私はまだベンチマークを実行していないので、これが実世界のパフォーマンスに大きな利点をもたらすことはまだ確認できません。
コマンドラインハック
右クリックして管理者として実行を選択するか、スタートメニューの検索ボックスにcmdと入力してCtrl+Shift+Enterを使用して、管理者モード
キャッシュ設定を増やすには、次のコマンドを入力します:
2
現在の値を確認するには、次のコマンドを入力します:
fsutil動作クエリmemoryusage
設定をデフォルトに戻すには、次のコマンドを使用します:
fsutil動作セットmemoryusage1
いつものように、これらの”わずかに”文書化された設定は、システムを台無しにすることができますので、ご自身の責任で実行してください。 また、違いを確認するには、マシンを再起動する必要があります。
手動レジストリハック
レジストリパラメータを変更してこの値を設定することもできます。 Regeditを開きます。スタートメニューの検索または実行ボックスを使用してexeを実行し、次のキーに移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
右側のNtfsMemoryUsageキーをダブルクリックし、値を2に変更します。 利用可能な値は次のとおりです:
- 設定されていない:0
- デフォルトに設定されている: 1
- キャッシュを増やす: 2
ドキュメントによると、デフォルト設定は”1″ですが、デフォルトではキーは”0″に設定されています。 通常、このシナリオでは、”0″の設定は”未設定”を意味し、システムはデフォルト設定を使用することを意味します。 これをデフォルトに戻すには、値を「0」または「1」のいずれかに変更できるはずです。
この設定は、Windows Server2003でも機能します。