要点

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、時刻を記録して保存します。

アプリの版、ファイル、プロファイル、待ち時間を同じにします。複数条件を同時に変えると差分の原因が分かりません。測定間でキャッシュを消さないでください。

Use Countsとページ状態を表示する公式RAMMap画面
各測定で同じ行と列を比較し、総量だけで判断しません。

増え続ける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分のように保存し、操作と時刻も記録します。

激しいページングが始まる前に止めます。再現できたら疑わしいアプリやサービスだけを安全に再起動し、同じ試験を行います。一時的な解放は所有の証拠であり、恒久修正ではありません。

  1. 基準値を保存

    F5で更新し、利用可能メモリとCommitを記録して保存。

  2. 1つの操作を反復

    他の条件を変えず、明確な操作だけを実行。

  3. 固定点で保存

    1回目、3回目、5回目など同じ間隔で保存。

  4. 休止点を追加

    負荷を止め、値が安定または戻るか確認。

  5. 所有者を確認

    分類に応じてProcess Explorer、VMMap、PoolMon、WPRを使用。

安定パターンと連続増加パターンを比較するRAMMapスナップショット図
同じ操作で繰り返し増え、休止中にも安定しないことが強い兆候です。

RAMMapの次に使うツールを選ぶ

RAMMapは物理メモリの構成を示しますが、すべての割り当てスタックは示しません。Process Explorerは所有者、VMMapは1プロセスの領域、PoolMonはPool Tag、WPRは時間軸を調べます。

スナップショット、PID、Tag、パス、再現手順、時刻を保存します。ダンプやトレースには機密情報が含まれる場合があります。

RAMMapの手掛かりに応じた次のツール
手掛かりツール確認すること
Process PrivateProcess ExplorerどのプロセスやサービスがCommitを所有するか
プロセス確定VMMap/Profilerどの領域が増えるか
PoolPoolMonどのTagがカーネルメモリを使うか
ドライバー/時間WPRいつ増え、何の活動と一致するか
Mapped FileFile 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を使い、メモリ状態を変える前に基準値を保存します。

RAMMap v1.63をダウンロード
2026年7月30日にMicrosoft公式ZIPを確認済み。

メモリ調査を続ける