1

起動時に最大 30MB のメモリを使用する .NET サービスがあります。(VM ~= Mem usage)
プロセスをダンプして、30MB を保持しているものを見つけたかったのです。

ミニダンプを生成する CDB デバッガーは、メモリ使用量を 100MB 増加させました
ダンプから、これらの 100MB がイメージ メモリ (DLL) であることがわかりました。

-------------------- Usage SUMMARY --------------------------
    TotSize (      KB)   Pct(Tots) Pct(Busy)   Usage
    2d07000 (   46108) : 02.20%    28.45%    : RegionUsageIsVAD
   761ac000 ( 1935024) : 92.27%    00.00%    : RegionUsageFree
    64b0000 (  103104) : 04.92%    63.62%    : RegionUsageImage
     900000 (    9216) : 00.44%    05.69%    : RegionUsageStack
       9000 (      36) : 00.00%    00.02%    : RegionUsageTeb
     380000 (    3584) : 00.17%    02.21%    : RegionUsageHeap
          0 (       0) : 00.00%    00.00%    : RegionUsagePageHeap
       1000 (       4) : 00.00%    00.00%    : RegionUsagePeb
       1000 (       4) : 00.00%    00.00%    : RegionUsageProcessParametrs
       2000 (       8) : 00.00%    00.00%    : RegionUsageEnvironmentBlock
       Tot: 7fff0000 (2097088 KB) Busy: 09e44000 (162064 KB)

デバッガーがデタッチされた後も、メモリ使用量は高いままです。この画像の読み込み/メモリの上昇をケーシングしているものを知りたいですか?

ありがとう。

4

2 に答える 2

3

「通常、未使用のページはワーキングセットの一部ではなく、アドレススペースの一部です。完全なダンプを作成する場合、アドレススペースのすべてのページが読み込まれ、ディスクに書き込まれます。ダンプは基本的にプロセスのアドレス空間のサイズと同等であり、あなたが説明することは期待されています。」 Ivan Brugiolo&PavelLebedinsky

から回答を得ました。

于 2010-02-10T07:00:46.357 に答える
-1

プロファイラーを使用して、メモリ消費を分析できます。

  1. NProfiler - foss
  2. Nカバー- 無料ではありません
于 2010-02-03T09:51:49.093 に答える