次の方法で共有


COR_PRF_GC_GENERATION

更新 : 2007 年 11 月

ガベージ コレクションのジェネレーションを識別します。

typedef enum {
    COR_PRF_GC_GEN_0 = 0,
    COR_PRF_GC_GEN_1 = 1,
    COR_PRF_GC_GEN_2 = 2,
    COR_PRF_GC_LARGE_OBJECT_HEAP = 3
} COR_PRF_GC_GENERATION;

メンバ

メンバ

説明

COR_PRF_GC_GEN_0

オブジェクトはジェネレーション 0 として格納されています。

COR_PRF_GC_GEN_1

オブジェクトはジェネレーション 1 として格納されています。

COR_PRF_GC_GEN_2

オブジェクトはジェネレーション 2 として格納されています。

COR_PRF_GC_LARGE_OBJECT_HEAP

オブジェクトはラージ オブジェクト ヒープに格納されています。

解説

ガベージ コレクタを使用すると、オブジェクトが世代に基づいてジェネレーションに分割されるため、メモリ管理のパフォーマンスが向上します。ガベージ コレクタは現在、番号 0、1、および 2 の 3 つのジェネレーションに加え、大きなオブジェクト用の特殊なヒープ セグメントを使用します。サイズが特定の値を超える大きなオブジェクトは、ラージ オブジェクト ヒープに格納されます。割り当てられるその他のオブジェクトは、最初はジェネレーション 0 に格納されます。ガベージ コレクションが開始された後にジェネレーション 0 に存在するオブジェクトはすべて、ジェネレーション 1 に移動されます。ガベージ コレクションが開始された後にジェネレーション 1 に存在するオブジェクトは、ジェネレーション 2 に移動されます。

ジェネレーションを使用する理由は、ガベージ コレクタが一度に処理できるのが、割り当てられたオブジェクトの 1 つのサブセットのみであるためです。

COR_PRF_GC_GENERATION 列挙体は、COR_PRF_GC_GENERATION_RANGE 構造体によって使用されます。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : CorProf.idl

ライブラリ : CorGuids.lib

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

その他の技術情報

列挙体のプロファイリング