Windows 7でファイルシステムのメモリキャッシュサイズを増やす

Windows NTベースのシステムでのファイル操作は、カーネルバッファーの限られたプールを利用します。一時的に新しいファイル操作を受け入れることができないようにバッファがいっぱいになると、Windowsでファイル操作が遅くなったり停止したりすることがあります。

バッファのメモリ使用量は、管理者特権のコマンドラインプロンプトまたはWindowsレジストリから増やすことができます。

理論的には、多くのファイル操作を迅速に実行する必要がある状況を高速化し、読み取り/書き込み操作の数が増えるあらゆる状況で役立ちます。

設定を変更すると、バッファーのページメモリと非ページメモリの使用量が増加します。これは、PCで十分なスペアシステムメモリが利用できる場合にのみ、この調整を使用する必要があることを示しています。

Microsoft TechNetは、メモリ使用量の値について次の説明を提供します。

NTFSページプールとNTFS非ページプールメモリの内部キャッシュレベルを構成します。 1または2に設定します。1(デフォルト)に設定すると、NTFSはデフォルトのページプールメモリを使用します。 2に設定すると、NTFSはそのルックアサイドリストとメモリしきい値のサイズを増やします。ルックアサイドリストは、カーネルとデバイスドライバーがファイルの読み取りなどのファイルシステム操作用のプライベートメモリキャッシュとして作成する固定サイズのカーネルメモリバッファーのプールです。

コマンドラインでメモリ使用量を増やす

この操作には管理者特権のコマンドプロンプトが必要です。 [スタート]、[すべてのプログラム]、[アクセサリ]の順にクリックし、リストで[コマンドプロンプト]を右クリックして、[管理者として実行]を選択します。

elevated command prompt

または、Windowsキーを押して「cmd」と入力し、cmd.exeの結果を右クリックして、メニューから「管理者として実行」を選択することもできます。

次のコマンドを実行して、ページプールメモリの制限を増やします。

fsutil動作セットメモリ使用量2

fsutil memoryusage

Windowsは同じコマンドプロンプトで新しい値を返します。

古い設定を復元したいWindowsユーザーは、代わりに次のコマンドを実行できます。

fsutil動作セットメモリ使用量1

Windowsレジストリによるメモリ使用量の増加:

もう一度[スタート]ボタンをクリックして実行ボックスにregeditと入力するか、Windows-Rを押して実行ダイアログボックスを開いてregeditと入力することにより、Windowsレジストリエディターを開きます。

次のレジストリキーに移動します。

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control FileSystem

右側のウィンドウでエントリNtfsMemoryUsageを見つけます。次の3つの値を設定できます。

  • 設定されていません:0
  • デフォルト:1
  • 増加:2

registry memory usage

レジストリまたはコマンドラインのどちらに適用されたかに関係なく、変更を有効にするには、コンピュータシステムの再起動が必要です。

再起動後に実際の状況でシステムをテストして、速度の向上が顕著であるかどうかを確認し、安定して動作し続けることを確認することをお勧めします。

この設定は、すべてのWindows NTベースのシステムで使用できます。 Windows Vista、Windows 7、およびWindows Server製品で利用できることを確認しました。 Windows XPのユーザーが、そのオペレーティングシステムでも利用できるかどうかを確認できると便利です。

:同じ方法は、Windows 8や10などの新しいバージョンのWindowsでも機能します。