スタンバイ メモリの正体
WindowsはRAMの各ページをリストに振り分けており、スタンバイにはプログラムがすでに読み込んだファイルデータのコピーが置かれます。プログラムコード、ライブラリ、ドキュメント――かつてディスクから読み出されたものすべてです。プログラムがそのデータを再び必要とした瞬間、RAMから直接提供されます。アプリが新しいメモリを必要とした瞬間、メモリ マネージャーはスタンバイのページを即座に転用します。クリーンアップ ツールも不要なら、許可も要りません。
スタンバイがあるからこそ、プログラムの2回目の起動は1回目より速く、再起動なしの1週間後もシステムは軽快なままです。タスク マネージャーがスタンバイを「使用可能」に含めるのは、まさにそのため。すぐ使えるメモリでありながら、キャッシュとしても働くからです。スタンバイを独立した恐ろしいバーとして表示するツールは、同じ数値を別の額縁で2回見せているにすぎません。
- 使用中 — 実行中のプログラムが保持しているページ
- 変更済み — ディスクへの書き戻しが保留中のキャッシュ ページ
- スタンバイ — キャッシュされたファイルデータ。アプリが割り当てた瞬間に転用される
- 空き/ゼロ済み — 何も入っておらず、最初の書き込みを待つメモリ
- タスク マネージャーの「使用可能」— スタンバイ+空き。注目すべきはこの数値
スタンバイを解放すると遅くなる理由
EmptyStandbyListのようなスクリプトや、高速化ツールの「メモリ解放」ボタンでスタンバイ リストを空にすると、キャッシュされたファイルの中身が捨てられます。クラッシュはしませんが、次回のプログラム起動では実行ファイルやライブラリをディスクから読み直し、次のファイルを開くたびにストレージへ戻り、「解放された」RAMはゼロのまま、アプリはI/Oを待ち続けます。キャッシュ ヒットをミスと引き換えにし、レイテンシで代償を払ったわけです。
正直な例外はあります。一部のマシンではスタンバイが膨らむ一方で空きメモリがゼロに近づき、システムが本当にスラッシングに陥る――Windows 10期に記録された、欠陥のあるドライバーやメモリ リストの挙動にまで遡れる事例で、通常のキャッシュ動作ではありません。判定は簡単です。「使用可能」が健全でPCの調子が良ければ、スタンバイのサイズは問題ではありません。空きがゼロになっても何も解放されないなら、症状だけを誤魔化す解放を予定するのではなく、RAMMapやpoolmonでドライバーを追及してください。
よくある質問
Windowsのスタンバイ メモリはクリアすべきですか?
いいえ。スタンバイのページは必要になった瞬間、マイクロ秒単位でアプリに戻ります。クリアするとプログラムがディスクからファイルを読み直すだけで、起動は速くならず、むしろ遅くなります。
スタンバイ メモリがRAMのほぼすべてを使い切るまで増え続けるのはなぜですか?
キャッシュが機能しているからです。空きがある限りWindowsはファイルデータをRAMに置きます。未使用のRAMは誰の役にも立たないからです。ほぼ満杯まで増えるのは正常で、見るべきは「スタンバイ」ではなく「使用可能」です。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]