# Windowsのメモリ使用率が高いとき: アプリ、キャッシュ、メモリプレッシャー

ブラウザー、メッセージアプリ、プロジェクトを開くとメモリ使用は上がります。割合だけでは、普通の作業か故障したプログラムかは分かりません。使用量、プレッシャー、実際に観察できる遅さを一緒に見ます。

## 使用中メモリはアプリのデータだけではない

Windowsはファイルデータをメモリにキャッシュし、システム、ドライバー、動いているプログラムのための空きも必要です。プロセス一覧の行を足しても、PCの使用中メモリの合計になるとは限りません。タスクマネージャーの「パフォーマンス」の「メモリ」ページは、利用可能なメモリ、コミット、キャッシュされたデータを示します。

Microsoftの[RAMMap](https://learn.microsoft.com/en-us/sysinternals/downloads/rammap)は、物理メモリの用途、プロセスのワーキングセット、ファイルキャッシュをより詳しく見られます。日常の調査は、タスクマネージャーと、作業中の変化から始めます。

## 利用可能とコミットは違う測定として読む

利用可能なメモリには、Windowsが再利用できるページが含まれ、完全に未使用のRAMだけではありません。キャッシュされたページの一部も利用可能に入るので、キャッシュを利用可能に足すとメモリの一部を二重に数えます。プロセス一覧の列にはそれぞれの範囲があり、その合計はマシン全体の読み取りの代わりになりません。

コミット済みメモリは、Windowsが支えると約束したメモリです。上限はRAMとページングファイルに依存します。今ディスク上にどれだけデータがあるかは示しません。Microsoftの[ページファイルの説明](https://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/introduction-to-the-page-file)は、この区別を書いています。Moleのコミットに基づくプレッシャーは、その上限に近づいていることの目安であり、ページング活動の測定ではありません。

16GBのPCがコミット18/32GBを示す仮想の例では、18GBがコミットで、32GBがその上限です。表示は、PCに18GBのRAMがあることや、ちょうど2GBがディスクに書かれたことを意味しません。実際に遅いときの利用可能な物理メモリとディスク活動も確認します。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-windows-high-memory-usage-en-mobile.webp" type="image/webp" width="768" height="1180">
    <img src="/img/blog/windows-windows-high-memory-usage-en.webp" width="1360" height="454" loading="lazy" alt="違うメモリの読み取り">
  </picture>
  <figcaption>読み取りの範囲は違います。利用可能とキャッシュは重なるので、合計は別々に足せる入れ物ではありません。</figcaption>
</figure>

## ハードフォールトは故障したメモリモジュールではない

リソースモニターのハードフォールトは、ディスクから取り出さなければならないページを数えます。ページングファイルか、マップされたファイルです。大きなアプリを開くときのまとまった増加は、普通の読み込みであり得ます。ウィンドウに戻るたびに読み取りと一時停止が繰り返されるなら、利用可能なメモリが少ないことと一緒に調べる価値があります。

Windowsの[ワーキングセットのドキュメント](https://learn.microsoft.com/en-us/windows/win32/memory/working-set)は、これらの読み取りを、ディスクアクセスなしで解決されるソフトフォールトと区別しています。アプリのワーキングセットから外れたページも、RAMに残っていることがあります。変更を試すには、プロジェクトとブラウザーの作業を同じままにし、不要な作業を1つ閉じて、遅かった操作を繰り返します。

## 割合、プレッシャー、ページングは違うものを表す

Moleのステータスはメモリ使用を示します。プレッシャーの表示は、コミット上限に対するコミット済みメモリを見ており、アプリ一覧は個々のプログラムを探す助けになります。これらの読み取りは分母が違い、同じ合計に足し上がる必要はありません。

| 観察 | 次の確認 |
| --- | --- |
| アプリが増えると使用は上がるが、作業はスムーズなまま | 使っているプログラムを見直す。対処が不要なこともある |
| 使用が上がり、ウィンドウと作業が遅くなる | 利用可能なメモリ、コミット、忙しいアプリを確認する |
| 同じ作業なのに1つのアプリが増え続ける | バージョン、作業、時刻を記録し、拡張機能やベンダーの問題を調べる |
| 作業を閉じると使用が減る | 1回の低下を恒久的な修正とせず、作業を繰り返す |

ページングファイルは、Windowsのメモリ支援の一部です。使われていることは、普通の大きなファイルとして削除する理由にはなりません。ストレージの逼迫は、[ドライブを占めているもの](/ja/windows/blog/find-large-files-on-windows)を調べます。

## 不要な作業を減らす

ブラウザーのタブ、バックグラウンドの同期、同時に開いたプロジェクトは、どれもメモリを使い得ます。作業を保存し、不要な内容を閉じてから、同じ作業をもう一度確認します。Moleのプロセス検索は、アプリ名、プロセス名、PIDを受け付けます。アプリのグループの中の子も見てください。

割合を下げるためだけに、システムプロセスや共有ランタイムを終了しないでください。キャッシュのクリーンアップは動いているプログラムをアンインストールせず、回収したディスク容量はRAMにはなりません。

## 空けたメモリは、また必要になることがある

キャッシュしたデータを解放する、またはワーキングセットを縮めると、数字はすぐ下がり得ます。ファイルを開いたりアプリに戻ったりすると、データはまた読み込まれ得ます。効果はスクリーンショットの低い読み取りではなく、実際の作業で判断します。

いつもの作業が繰り返しより多くのメモリを必要とするなら、同時の作業を減らすか、PCが増設に対応するかを確認します。持続するCPU活動も遅さの原因になり得ます。変更を選ぶ前に、[CPUの調査](/ja/windows/blog/windows-high-cpu-usage)でボトルネックを特定します。


Canonical: https://mole.fit/ja/windows/blog/windows-high-memory-usage
