7

ANTS メモリ プロファイラを使用して、.NET 2.0 アプリケーションの 1 つで直面しているメモリ リークの増加を診断しています。私は 7.5 時間にわたってプロセスの 7 つのスナップショットを撮りました。取得したデータを表形式で表したものを次に示します。

ここに画像の説明を入力

G1 は第 1 世代のサイズを表し、G2 は第 2 世代のサイズを表します。アンマネージド スペースとプライベート バイトを除いて、他のすべての値は MB 単位です。

私の質問は -

  1. ヒープ サイズが小さい場合でも、未使用の .NET 領域が大量にあるのはなぜですか?

  2. 私の大きなオブジェクト ヒープは最大で約 2 MB になり、最後の 3 つのスナップショットでは 96 KB のままです。では、なぜこのように大きなフラグメントが存在するのでしょうか? また、それらが未使用スペースの原因になっているのでしょうか?

  3. 管理されていないスペースは絶えず増加します。それは時間の経過とともにプライベート バイトが増加する原因ですか?

私はこの問題を解決するために機知に富んでおり、いくつかの分析を実行しましたが、これに対する適切な解決策を見つけることができません. 必要なその他のデータを提供する準備ができています。

4

1 に答える 1