web-dev-qa-db-ja.com

ワーキングセットとコミットサイズの違いは何ですか?

oOMバグをデバッグするとき、ワーキングセットとコミットサイズの違いは何ですか?特に、コミットサイズの正確な意味は何ですか?

33
user705414

here から、ワーキングセットは次のとおりです。

...仮想アドレス空間ではなく、物理メモリ(RAM)のカウント。有効なプロセスの仮想アドレス空間のサブセットを表します。つまり、ページフォールトを発生させずに参照できることを意味します。

コミットサイズは次のとおりです。

ページファイル以外にバッキングストアが割り当てられていないページング可能な仮想アドレス空間の合計量。ページファイルを使用するシステムでは、潜在的なページファイルの最大使用量と考えることができます。ページファイルのないシステムでもカウントされますが、そのような仮想アドレス空間はすべて物理メモリ(RAM)に常に残っている必要があります。

したがって、ワーキングセットは使用される物理メモリの量と考えることができますが、コミットサイズは使用される仮想メモリの量を示します(ページファイル以外のファイルによって戻されるDLLやメモリマップファイルなど)。

とはいえ、これらの数値は、.NETで「メモリリーク」を見つけようとする場合、一般的には有用ではありません。代わりに、サードパーティの メモリプロファイラ を使用する必要があります。

30
CodeNaked