プロセスエクスプローラーのプライベートバイトVSワーキングセット


39

ワーキングセットはプロセスが使用している実際のメモリ量であり、プライベートバイトはさらに必要な場合に備えて確保された量であることを知っています。

だから、システム上の他のプロセスから実際にどれだけのメモリが奪われているのかを理解するために2つを追加しますか?

回答:


52

それほど単純ではないのではないかと思います。特に、Privateバイトは、提起した質問に答えるのにあまり役に立ちません。

最初に留意することは、メモリページがメインメモリまたは外部ストレージに存在する可能性があることです(最近では「ディスクページング」または「スワップ」)。2つ目は、プロセスのフットプリントにメモリのプライベートページがありますが、他のプロセスが同時に使用している共有ページのオブジェクトも使用することです。

ワーキングセットは、現在メインメモリに保存されているプロセスに属するページのサイズです。プロセスで使用されるメモリのページがページファイルに移動されると、ワーキングセットメトリックから削除され、メインメモリに呼び出されたときに再び追加されます。

ただし、ワーキングセットは、プロセスが所有するメモリだけを指すわけではありません。プロセスは多くの共有メモリオブジェクトを使用し、これらのオブジェクトのサイズはstatに反映されます。残念ながら、2つのプロセスが1MBオブジェクトを共有する場合、両方のプロセスはワーキングセットで1MBの割り当てを示します。したがって、すべてのワーキングセットを追加すると、1MBオブジェクトが2回記録され、すべてのワーキングセットサイズの累積が極端な場合、使用可能なラムのサイズを超えるように見えます。詳細はこちらをご覧ください:http : //cybernetnews.com/cybernotes-windows-memory-usage-explained/

プライベートバイトとは、プロセスのプライベートメモリフットプリントがスワップのために完全にページアウトされた場合に、プロセスに割り当てられる(必ずしも使用されるとは限らない)ページファイルスペースの量を指します。ほとんどの場合、プロセスは完全に(またはまったく)ページファイルに常駐しているわけではないため、プライベートバイトにはさらなる割り当てのための「余地」があるように見えます。ただし、そうではありません。

ただし、プライベートバイトはプロセスのプライベートメモリのみを参照するため、この値は共有リソースを反映しない場合があります(共有リソースが現在このプロセスでのみ使用されている場合でも)。

「Working set Private」(バージョンに応じてプロセスエクスプローラーの「WS Private bytes」または「Private WS」)がおそらく使用に最適なメトリックです。ページファイルとは関係がないため、物理RAMに与えるプロセスの影響を正確に表すことができ、共有オブジェクトを二重にカウントすることはありません。共有オブジェクトは一度だけ集計されます(それらを作成したプロセスのみ)が、それはまた、プロセスが別のプロセスによって作成された共有オブジェクトを使用することを単一プロセスの観点から記録していないことを意味しますマシン、または共有オブジェクトの別のプロセスインスタンスを使用する代わりに、共有オブジェクト自体を作成する必要がある状況。Windowsタスクマネージャーは、メモリ使用量メトリックとしてワーキングセットプライベートを使用します。

それが役立つことを願って


1
「プライベートバイト」はプロセスが要求したメモリ量であり、「ワーキングセット」はプライベートバイトと他のプロセスが使用できる少し余分な共有メモリであると言うのは正しいでしょうか。また、「Private Working Set」は、現在物理RAMにあるプライベートメモリの量であり、実際に使用しているメモリ量を最も正確に表していますか?
スキャンダリスト

4
ええ、かなり。フリーラムプライベートワーキングセットが心配な場合は、この方法をお勧めします。ページファイルまたはフルコミット(RAM +仮想メモリ)が心配な場合は、プライベートバイトが適切なメトリックです。
フランクトーマス

「プライベートバイト」は、プロセスのコミットされたプライベート仮想アドレス空間です。これの一部はページファイルにあり、一部はRAMにあり、一部は両方の場所にあり、一部は(場合によってはほとんど)物理的なストレージがまったく割り当てられていない場合があります。これは、システムの全体的な「コミットチャージ」に対するプロセスの貢献です。「プライベートワーキングセット」は、RAMにある「プライベートバイト」のサブセットです。nb:RAMmapは仮想メモリではなく物理メモリ(RAM)にのみ関係しているため、RAMmapのディスプレイには「プライベートバイト」などはありません。
ジェイミーハンラハン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.