概要
CacheSet は、システム ファイル キャッシュのワーキング セットのサイズを設定できるアプレットです。CacheSet は CacheMan とは異なり、新しいサービス パックのリリースに変更を加えなくても、すべてのバージョンの Windows NT で実行できます。ワーキング セットの最大サイズと最小サイズを制御できるだけでなく、キャッシュのワーキング セットをリセットして、最小の開始点から必要なだけ拡張させることもできます。CacheSet による変更がキャッシュのサイズにすぐ反映されるのも CacheMan とは異なる点です。
CacheMan を使用した場合には内部の変数を微調整しなければ実現不可能でしたが、CacheSet を使用すると、システム キャッシュ サイズのパフォーマンスを調整できます。
注: Windwos NT 4.0 Service Pack 4 以降で CacheSet を使用するには、"増加されたクォータ" 特権 (管理者アカウントには、既定でこの特権が付与されています) が必要です。CacheSet は、この特権が有効になるよう更新されているため、SP4 でも動作します。
インストールと使用方法
起動後、システム ファイル キャッシュの現在のサイズとピーク サイズ (前回の起動時以降の最大サイズ) が表示され、ワーキング セットの最大サイズと最小サイズを新しく設定できます。
新しいサイズの設定
新しい最小サイズと最大サイズを入力して、[Apply] ボタンをクリックします。エラーが発生した場合は、最小値よりも小さい値を最大値として入力したか、入力した最小値がシステムのワーキング セットのサイズよりも小さいか、入力した最大値がシステムのワーキング セットのサイズよりも大きいかのいずれかに該当します。エラーが発生した場合は、入力した値を調整して再試行してください。
キャッシュのサイズは、すぐに変更され、即座に縮小または拡張されます。これは、システムが 1 秒に 1 回という頻度でワーキング セットを自動的に削除するためです。解放されたキャッシュ ページは、メモリに保持されますが、追加のメモリを必要とする別のプログラムが使用するためにすばやく解放することができます。同様に、キャッシュは、アプリケーションがファイル システムのデータにアクセスするたびに、簡単にページを再取得できます。
以前の値のリセット
[Reset] ボタンをクリックすればいつでも、最後に CacheSet を起動したときに設定していたキャッシュのワーキング セットの値を復元できます。
キャッシュのワーキング セットのクリア
[Clear] ボタンをクリックすると、キャッシュのすべてのページを解放できます。キャッシュは、必要に応じて再び拡張させることが可能で、これはキャッシュをフラッシュするのとは異なります。キャッシュに割り当てられていたページは、別のプログラムでも使用できるようになり、キャッシュで再利用することもできます。
コマンド ライン インターフェイスの使用
CacheSet のコマンド ラインで、ワーキング セットの最小サイズと最大サイズを入力できます。CacheSet では、これらの値を暗黙のうちに適用します。そのため、CacheSet をスタートアップ プログラムに追加して、OS を起動するたびにキャッシュのサイズを自動的に変更することができます。
使用法: CacheSet [<最小のワーキング セット>] [<最大のワーキング セット>]
CacheSet のしくみ
CacheSet では、NtQuerySystemInformation を使用してキャッシュの設定に関する情報を取得し、NtSetSystemInformation を使用して新しいサイズ情報を設定します。プロセスのワーキング セット情報は、物理メモリのページをどのくらいアプリケーションに割り当てる必要があるかという点について、Windows NT のメモリ マネージャーのガイドラインになります。これはガイドラインにすぎないので、メモリ マネージャーがワーキング セットを最大値よりも大きくしたり、最小値よりも小さくしたりする状況も起こり得ます。ですが、この設定は、割り当て全体に影響を及ぼす要因であるので、アプリケーションの応答性にも影響します。CacheSet の場合、このアプリケーションは、ファイル システムのキャッシュになります。
内部では、NtSetSystemInformation は、アプリケーションのワーキング セットを拡張または削除する MmAdjustWorkingSetSize を呼び出します。MmAdjustWorkingSetSize に渡される 3 つ目のパラメーターが 1 の場合、システム キャッシュのワーキング セットが調整され、それ以外の場合、現在のプロセスが調整されます (システム情報の呼び出しは、システムのキャッシュにのみ影響します)。最小値および最大値として -1 を渡すと、MmAjustWorkingSetSize がワーキング セットの削除操作を実行し、アプリケーションのワーキング セットで、すべてのページが解放されます。
CacheSet のダウンロード
(42.4 KB)
Live.Sysinternals.com から直接 CacheSet を実行する