トップページ Windows 高速化 Comfortable PC 項目解説 メモリを優先的にプログラムに割り当てる

メモリを優先的にプログラムに割り当てる

サーバー用途で使われているコンピュータなどでは大抵、情報を一度読み込むと、その情報を物理メモリ上にキャッシュしておき二度目以降のアクセスを高速化するキャッシュ機構を備えています。
Windowsはこの機能をさらに効率化するため、システムキャッシュモードという機能を用意しています。

システムキャッシュモードはWindowsによってファイルキャッシュに割り当てるメモリと、アプリケーション実行用に割り当てるメモリの配分量を調整する機能で、ONにすることでファイルキャッシュに割り当てるメモリの上限量を最大で「搭載物理メモリ量-4MB」まで引き上げます。
ファイルキャッシュのメモリの割り当ては、Windowsが必要と判断すればどこまでも増やしてしまうため、よほど大規模なサーバーでメモリが潤沢な環境でもなければメモリ不足を引き起こします。

また、このシステムキャッシュモードをOFFにすると、Windowsはファイルキャッシュに割り当てるメモリを8MBに固定し、それ以上のメモリリソースを消費しません。

今回解説するレジストリエントリ「LargeSystemCache」は、このシステムキャッシュモードのON/OFFを切り替えるものですが、前述の解説の通り、この設定は余程大規模なサーバーでもなければ恩恵を受けられない機能です。
多くの高速化解説サイトや高速化ソフトではこの設定の本来の意味を誤認して有効にしがちですが、一般的なWindowsユーザーであればこの設定は無効にしておくべきです。

なおComfortable PCでは「メモリを優先的にプログラムに割り当てる」の項目を有効(チェックボックス ON)にすることで、システムキャッシュモードをオフにし、アプリケーション実行用のメモリを確保できます。
Auto Analysisを実行しても、同様にシステムキャッシュモードはオフになるよう設定されます。

またこの設定に関してWindows Vista以降では意味がない可能性があるため、Comfortable PCも今後の更新でこの項目はVista以降のOSでは選択不可にする可能性があります。


レジストリ情報

キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
値 : LargeSystemCache

値はDWORDで設定します。
「0」でシステムキャッシュモードはオフになり、ファイルキャッシュに割り当てるメモリは8MBまでに固定されます。
「1」でシステムキャッシュモードがオンになり、ファイルキャッシュに割り当てるメモリの上限量は「搭載物理メモリ量-4MB」となります。
またWindows XPの規定値が0、Windows Server 2003の規定値が1です。
Windows Server 2003を使用している場合でも、メモリ搭載量が少ない場合はこの値は0を設定しておいた方が賢明でしょう。

参考資料
Windows XP でシステム キャッシュ モードを有効にする場合の注意事項
LargeSystemCache: Core Services