web-dev-qa-db-ja.com

Windowsタスクマネージャーの物理メモリ

Windowsタスクマネージャの[パフォーマンス]タブで、[物理メモリ]の下に次のように表示されます。

Total 3582 
Cached 867 
Available 846
Free 11

なぜ数字が合計にならないのですか?空きメモリと使用可能なメモリの違いは何ですか?

4
Phenom

Microsoftの タスクマネージャーで使用可能なバイトが表すものの説明

この「AvailableMemory」カウンターが実際に何を表しているのかを理解していない場合は、予想どおりにゼロに近づくことはないように見える場合があります。

タスクマネージャの「使用可能なメモリ」カウンタは、実際には次の3つの内部メモリリストの合計です。

  • スタンバイリスト。
  • 無料リスト。
  • ゼロリスト。

これらのリストの意味の説明については、上記の記事を参照してください。

2
harrymc

Smart-a *の答えは、「合計することは想定されていないため」です。 :)

真剣に:まず、「使用中」のメモリが不足しています。 「使用中」の別の用語は、「プロセスワーキングセット、システムワーキングセットの1つ、またはページング不可能な割り当て」です。簡単に言うと、これがすべてのRAMであり、ページフォールトを発生させることなく参照できる仮想アドレスの「下」にあります。「使用中」は「合計」-「使用可能」-「変更済み」として計算できます。 「...変更されたページリスト用のカウンターがないことを除いて。ページファイルなしで実行している場合を除いて、MPLは通常非常に小さいです。

Harrymcが言ったように、「Available」は、スタンバイ、フリー、ゼロページリストと呼ばれる3つのリストの合計です。無料ページとゼロページには、実行中のプロセスに関連する情報は含まれていません。ただし、スタンバイには、プロセスから失われたページが含まれており、これらのプロセスですぐに必要になる可能性があります(これらは、あるタイプの「ソフトページフォールト」を介してこれらのプロセスに取り込まれます)。ただし、一部のスタンバイページを他の用途に使用する必要がある場合、スタンバイページにあるデータはディスクでも利用可能であり、必要に応じてディスクから読み戻すことができるため、これは即座に発生する可能性があります。

すぐに、「Available」と「Free」を一緒に追加しようとしている場合、それは間違いであることがわかります...「Free」はすでに「Available」の一部であるため、「Free」を数えています2回。

(生活をより楽しくするために、タスクマネージャーが「無料」と報告するものには、実際には無料とゼロの両方のページリストが含まれています。)

ただし、不一致の主な原因は通常、「キャッシュ」カウンターです。 Windows 7では、「キャッシュ」には、ファイルシステムキャッシュワーキングセット(SuperFetchではなく、これは別のものです)とスタンバイページリストの両方が含まれます。したがって、「Available」と「Cached」を一緒に追加しようとすると、スタンバイリストが2回カウントされることになり、当然、迷うことになります。

Windows 8および10では、タスクマネージャーの表示でMPLを「キャッシュ」の一部としてカウントすることで、さらに混乱を招きました。

0
Jamie Hanrahan