クロスワークスペースの比較ビュー
クロスワークスペース比較は、異なるワークスペースに保存されているスナップショット (つまり、異なるプロファイリングセッションで収集されたスナップショット) を比較することです。
dotMemory は異なるプロファイリングセッションのオブジェクトの有効期間を一致させることができないため、クロスワークスペースの比較ビューには新しいオブジェクトまたは収集されたオブジェクトのデータは表示されません。既存のオブジェクト (ガベージコレクションを生き残ったオブジェクト) のみがタイプ別に一致します。
クロスワークスペースの比較ビューには、次の列を含むリスト内のデータが表示されます。
名前 | 説明 |
|---|---|
タイプ | 型名。 |
オブジェクト (A) | 最初のスナップショットに存在するインスタンスの数(A 文字でマークされています)。 |
オブジェクト (B) | 2 番目のスナップショットに存在するインスタンスの数(B 文字でマークされています)。 |
オブジェクトデルタ | A と B のオブジェクトの数の差。 |
バイト数 (A) | 最初のスナップショット内のオブジェクトの全体的なサイズ(A 文字でマークされています)。 |
バイト数 (B) | 2 番目のスナップショット内のオブジェクトの全体的なサイズ(B 文字でマークされています)。 |
バイトデルタ | A と B のオブジェクトのサイズの違い |
サンプル
ワークスペース間の比較が 1 つのセッションで収集されたスナップショットの比較とどのように異なるかをよりよく理解するために、比較ビューセクションで使用したのと同じ例を使用しましょう。

グループオブジェクトセット
便宜上、4 つの異なる方法でリストをグループ化できます。
- プレーンリスト
オブジェクトセットはプレーンリストに表示されます。これは、メモリ使用量が最も多いオブジェクトを識別する最も簡単な方法です。
- 名前空間別にグループ化
オブジェクトセットは、名前空間ごとにグループ化されます。このタイプのグループ化は、独自のクラスの問題の特定に集中したい場合に非常に便利です。
- 組立でグループ化する
オブジェクトは、それらが由来するアセンブリによってグループ化されています。このタイプのグループ分けは、システムクラスから独自のクラスを分けるためにも使うことができます。
- インターフェースでグループ化する
オブジェクトセットは、それらが実装するインターフェースによってグループ化されています。オブジェクトが複数のインターフェースを実装している場合は、実装されている各インターフェースに表示されます。
リスト内のオブジェクトをフィルタリングする
分析に関係のないオブジェクトセットを除外することができます。
リストを絞り込むには、フィルターフィールドに目的のタイプ名を入力し始めます。dotMemory は、パターンに一致しないすべてのセットをリストから除外します。
関連ページ:
比較ビュー
比較ビューには、次の列を含むリスト内のデータが表示されます。タイプ型名。生存しているオブジェクト両方のスナップショットに存在するインスタンスの数。新規オブジェクトスナップショット間に作成された新しいインスタンスの数。デッドオブジェクトベーススナップショットに存在したが、2 回目のスナップショットをとるまでに収集されたインスタンスの数。オブジェクトデルタ新しいオブジェクトとデッドオブジェクトの数の差。存続バイト存続オブジェクトの全体サイズ(バイト単位)。新しいバイト数新しいオブジェクトの全体サイズ...
GC ルートの分析
オブジェクトの保持パスは常に GC ルートで始まります。ガベージコレクターの観点から見ると、ルートは、収集してはいけない、または収集されないオブジェクトへの参照です。これにより、ルートが保持グラフを構築するための唯一の可能な開始点になります。ルートタイプを理解することは、「誰がオブジェクトを保持するか ? 」を検討する際に不可欠となる場合があります。分析。保持パスを調べても、オブジェクトがまだメモリ内にある理由がわからない場合があります。この場合、GC ルートを調べることは理にかなっています。例...