RAMMapを管理者として起動し、Total、Active、Standby、Modified、Freeと主要なUse Counts行を記録してスナップショットを保存します。同じ操作を一定間隔で繰り返し、F5で更新します。休止しても増加が止まらず、空きメモリ低下やCommit増加を伴う場合はリークの疑いが強まります。RAMMapで分類を絞り、Process Explorer、VMMap、PoolMon、WPRで所有者を確認します。
通常のメモリ圧迫とリークを分ける
Windowsは空きRAMをファイルキャッシュやStandbyとして利用します。回収可能なら使用率が高くても正常です。リークは同条件の測定ごとに増え、作業終了後も保持され、Commitやページング、遅延を悪化させます。
Totalだけを見ず、各行のActive、Standby、Modifiedを比較します。大きなStandbyは回収可能なことが多く、ActiveのProcess PrivateやPoolが連続増加する方が強い手掛かりです。タスクマネージャーのコミット済みも確認します。
| 観察 | 正常なことが多い | 強い兆候 |
|---|---|---|
| 負荷開始後 | 増えてから安定 | 同じ操作のたびに増加 |
| 負荷停止後 | 解放またはキャッシュ化 | 同じ分類が残って増加 |
| 利用可能メモリ | 十分に維持 | Commit増加とともに低下 |
| 所有者 | 想定したアプリやキャッシュ | プロセス、Pool Tag、ファイルが無作業で増加 |
| 再起動後 | ウォームアップ後に安定 | 同じ手順で無制限増加を再現 |
再現前にきれいな基準値を保存する
無関係なアプリを閉じ、更新、バックアップ、ダウンロード、仮想マシンを止めます。管理者でRAMMapを開き、落ち着いたらF5を押し、Use Counts、Active、利用可能メモリ、Commit、時刻を記録して保存します。
アプリの版、ファイル、プロファイル、待ち時間を同じにします。複数条件を同時に変えると差分の原因が分かりません。測定間でキャッシュを消さないでください。

増え続けるRAMMap分類を追う
Process Privateはアプリやサービス、Mapped FileはFile Summaryとパス、Poolはドライバー調査につながります。Driver Locked、Page Table、Large Pageは別の所有者です。
2分類が同時に増える場合は時系列を比較します。アプリの私有メモリとファイルキャッシュが同時に増えることがあります。RAMMapメモリ種別とProcess Private診断も参照してください。
- Process Private:Processesを並べ替え、PIDと差分を記録し、Process ExplorerまたはVMMapでPrivate Bytesを確認。
- Mapped File:File Summaryを並べ替え、File Detailsでパスを確認。
- Pool:傾向を記録し、PoolMonまたはWPRでPool Tagを特定して署名済みドライバーへ対応付け。
- Standby:制御した試験で別の証拠が出ない限り、回収可能なキャッシュとして扱う。
再現可能なチェックポイントとスナップショットを比較する
基準値、同じ条件の3点以上、休止点を用意します。基準、操作後1回、操作後3回、休止10分のように保存し、操作と時刻も記録します。
激しいページングが始まる前に止めます。再現できたら疑わしいアプリやサービスだけを安全に再起動し、同じ試験を行います。一時的な解放は所有の証拠であり、恒久修正ではありません。
- 基準値を保存
F5で更新し、利用可能メモリとCommitを記録して保存。
- 1つの操作を反復
他の条件を変えず、明確な操作だけを実行。
- 固定点で保存
1回目、3回目、5回目など同じ間隔で保存。
- 休止点を追加
負荷を止め、値が安定または戻るか確認。
- 所有者を確認
分類に応じてProcess Explorer、VMMap、PoolMon、WPRを使用。

RAMMapの次に使うツールを選ぶ
RAMMapは物理メモリの構成を示しますが、すべての割り当てスタックは示しません。Process Explorerは所有者、VMMapは1プロセスの領域、PoolMonはPool Tag、WPRは時間軸を調べます。
スナップショット、PID、Tag、パス、再現手順、時刻を保存します。ダンプやトレースには機密情報が含まれる場合があります。
| 手掛かり | ツール | 確認すること |
|---|---|---|
| Process Private | Process Explorer | どのプロセスやサービスがCommitを所有するか |
| プロセス確定 | VMMap/Profiler | どの領域が増えるか |
| Pool | PoolMon | どのTagがカーネルメモリを使うか |
| ドライバー/時間 | WPR | いつ増え、何の活動と一致するか |
| Mapped File | File Summary/Details | どのファイルがページを占めるか |
キャッシュ削除で証拠を隠さない
Empty Standby Listは回収可能なキャッシュを捨てるだけで、私有CommitやリークしたPoolを解放しません。Empty Working Setsも一時的に常駐ページを減らすだけです。
Emptyは制御したキャッシュ試験だけに使います。確認した所有者を更新または再起動して同じ試験を再実施します。2026年3月26日公開のRAMMap v1.63は、2026年7月30日のMicrosoft ZIPとSHA256確認時点でも現行でした。
キャッシュ削除直後にグラフが小さくなっても、リーク修正の証明にはなりません。まず傾向を保存してください。
RAMMapメモリリークのよくある質問
RAMMapだけでアプリのリークを証明できますか?
分類と再現傾向は示せますが、正確な原因にはプロセスやドライバー向けツールが必要です。
どの値を監視しますか?
利用可能メモリ低下やCommit増加とともに繰り返し増えるActive分類です。
スナップショットはいくつ必要ですか?
基準値、同条件の複数点、休止点を用意します。
Empty Standby Listで直りますか?
いいえ。回収可能なキャッシュを捨てるだけです。
次に何を使いますか?
分類に応じてProcess Explorer、VMMap、PoolMon、WPRを使います。
MicrosoftからRAMMap v1.63をダウンロード
現行の公式ZIPを使い、メモリ状態を変える前に基準値を保存します。