.NET ランタイム ガベージ コレクション イベント
この記事で説明するイベントは、ガベージ コレクションに関連する情報を収集します。 これらは、ガベージ コレクションが実行された回数、ガベージ コレクション中に解放されたメモリの量の決定など、診断とデバッグに役立ちます。これらのイベントを診断目的で使用する方法の詳細については、「.NET アプリケーションのログ記録とトレース を参照してください。
GCStart_V2 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCStart_V1 |
1 | ガベージ コレクションが開始されました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
Count |
win:UInt32 |
ガベージ コレクション n 個。 |
Depth |
win:UInt32 |
収集される世代。 |
Reason |
win:UInt32 |
ガベージ コレクションがトリガーされた理由:0x0 - 小さなオブジェクト ヒープの割り当て。0x1 - 誘発。0x2 - メモリ不足。0x3 - 空。0x4 - ラージ オブジェクト ヒープの割り当て。0x5 - 領域が不足しています (小さなオブジェクト ヒープの場合)。0x6 - 領域が不足しています (ラージ オブジェクト ヒープの場合)。0x7 - 誘導されますが、ブロックとして強制されません。 |
Type |
win:UInt32 |
0x0 - バックグラウンド ガベージ コレクションの外部で発生したガベージ コレクションのブロック。0x1 - バックグラウンド ガベージ コレクション。0x2 - バックグラウンド ガベージ コレクション中にガベージ コレクションのブロックが発生しました。 |
ClrInstanceID |
win:UInt16 | CoreCLR のインスタンスの一意の ID。 |
GCEnd_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCEnd_V1 |
2 | ガベージ コレクションは終了しました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
Count |
win:UInt32 |
ガベージ コレクション n 個。 |
Depth |
win:UInt32 |
収集された世代。 |
ClrInstanceID |
win:UInt16 | CoreCLR のインスタンスの一意の ID。 |
GCHeapStats_V2 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 形容 |
---|---|---|
GCHeapStats_V2 |
4 | 各ガベージ コレクションの最後にあるヒープ統計を表示します。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
GenerationSize0 |
win:UInt64 |
ジェネレーション 0 メモリのサイズ (バイト単位)。 |
TotalPromotedSize0 |
win:UInt64 |
ジェネレーション 0 からジェネレーション 1 に昇格されるバイト数。 |
GenerationSize1 |
win:UInt64 |
第 1 世代メモリのサイズ (バイト単位)。 |
TotalPromotedSize1 |
win:UInt64 |
ジェネレーション 1 からジェネレーション 2 に昇格されるバイト数。 |
GenerationSize2 |
win:UInt64 |
第 2 世代メモリのサイズ (バイト単位)。 |
TotalPromotedSize2 |
win:UInt64 |
最後のコレクションの後のジェネレーション 2 で存続したバイト数。 |
GenerationSize3 |
win:UInt64 |
ラージ オブジェクト ヒープのサイズ (バイト単位)。 |
TotalPromotedSize3 |
win:UInt64 |
最後のコレクションの後のラージ オブジェクト ヒープで存続したバイト数。 |
FinalizationPromotedSize |
win:UInt64 |
最終処理の準備ができているオブジェクトの合計サイズ (バイト単位)。 |
FinalizationPromotedCount |
win:UInt64 |
最終処理の準備ができているオブジェクトの数。 |
PinnedObjectCount |
win:UInt32 |
固定された (移動できない) オブジェクトの数。 |
SinkBlockCount |
win:UInt32 |
使用中の同期ブロックの数。 |
GCHandleCount |
win:UInt32 |
使用中のガベージ コレクション ハンドルの数。 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
GenerationSize4 |
win:UInt64 |
ピン留めされたオブジェクト ヒープのサイズ (バイト単位)。 |
TotalPromotedSize4 |
win:UInt64 |
最後のコレクションの後にピン留めされたオブジェクト ヒープに残ったバイト数。 |
GCCreateSegment_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCCreateSegment_V1 |
5 | 新しいガベージ コレクション セグメントが作成されました。 さらに、既に実行されているプロセスでトレースが有効になっている場合、このイベントは既存のセグメントごとに発生します。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
Address |
win:UInt64 |
セグメントのアドレス。 |
Size |
win:UInt64 |
セグメントのサイズ。 |
Type |
win:UInt32 |
0x0 - 小さなオブジェクト ヒープ。 0x1 - ラージ オブジェクト ヒープ。 0x2 - 読み取り専用ヒープ。 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
ガベージ コレクターによって割り当てられるセグメントのサイズは実装固有であり、定期的な更新を含め、いつでも変更される可能性があることに注意してください。 アプリでは、特定のセグメント サイズに関する想定や依存を行ったり、セグメント割り当てに使用できるメモリの量を構成したりしないでください。
GCFreeSegment_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCFreeSegment_V1 |
6 | ガベージ コレクション セグメントが解放されました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
Address |
win:UInt64 |
セグメントのアドレス。 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
GCRestartEEBegin_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCRestartEEBegin_V1 |
7 | 共通言語ランタイムの中断からの再開が開始されました。 |
このイベントにはイベント データがありません。
GCRestartEEEnd_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCRestartEEEnd_V1 |
3 | 共通言語ランタイムの中断からの再開は終了しました。 |
このイベントにはイベント データがありません。
GCSuspendEEEnd_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCSuspendEEEnd_V1 |
8 | ガベージ コレクションの実行エンジンの中断の終了。 |
このイベントにはイベント データがありません。
GCSuspendEEBegin_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCSuspendEEBegin_V1 |
9 | ガベージ コレクションの実行エンジンの中断の開始。 |
フィールド名 | データ型 | 形容 |
---|---|---|
Count |
win:UInt32 |
ガベージ コレクション n 個。 |
Reason |
win:UInt32 |
EE 中断の理由。0x0 : その他の場合は一時停止0x1 : GC の場合は中断します。0x2 : AppDomain のシャットダウンのために中断します。0x3 : コード ピッチングのために中断します。0x4 : シャットダウンのために中断します。0x5 : デバッガーの中断。0x6 : GC 準備のために中断します。0x7 : デバッガー スイープの中断 |
GCAllocationTick_V3 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
Verbose (5) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCAllocationTick_V3 |
10 | 毎回約 100 KB が割り当てられます。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
AllocationAmount |
win:UInt32 |
割り当てサイズ (バイト単位)。 この値は、ULONG (4,294,967,295 バイト) の長さより小さい割り当てに対して正確です。 割り当てが大きい場合、このフィールドには切り捨てられた値が含まれます。 非常に大きな割り当てには AllocationAmount64 を使用します。 |
AllocationKind |
win:UInt32 |
0x0 - 小さなオブジェクトの割り当て (割り当ては小さなオブジェクト ヒープ内にあります)。0x1 - ラージ オブジェクトの割り当て (割り当てはラージ オブジェクト ヒープ内にあります)。 |
AllocationAmount64 |
win:UInt64 |
割り当てサイズ (バイト単位)。 この値は、非常に大きな割り当てに対して正確です。 |
TypeId |
win:Pointer |
MethodTable のアドレス。 このイベント中に割り当てられたオブジェクトの種類が複数ある場合、これは最後に割り当てられたオブジェクト (100 KB のしきい値を超えたオブジェクト) に対応する MethodTable のアドレスです。 |
TypeName |
win:UnicodeString |
割り当てられた型の名前。 このイベント中に割り当てられたオブジェクトの種類が複数ある場合、これは最後に割り当てられたオブジェクトの種類です (100 KB のしきい値を超える原因となったオブジェクト)。 |
HeapIndex |
win:UInt32 |
オブジェクトが割り当てられたヒープ。 ワークステーションのガベージ コレクションを使用して実行する場合、この値は 0 (ゼロ) です。 |
Address |
win:Pointer |
最後に割り当てられたオブジェクトのアドレス。 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
GCCreateConcurrentThread_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
ThreadingKeyword (0x10000) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | 同時実行ガベージ コレクション スレッドが作成されました。 |
このイベントにはイベント データがありません。
GCTerminateConcurrentThread_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
ThreadingKeyword (0x10000) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | 同時実行ガベージ コレクション スレッドが終了しました。 |
このイベントにはイベント データがありません。
GCFinalizersBegin_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCFinalizersBegin_V1 |
14 | ファイナライザーの実行開始。 |
このイベントにはイベント データがありません。
GCFinalizersEnd_V1 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCFinalizersEnd_V1 |
13 | ファイナライザーの実行終了。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
Count |
win:UInt32 |
実行されたファイナライザーの数。 |
ClrInstanceID |
win:UInt16 | CLR または CoreCLR のインスタンスの一意の ID。 |
SetGCHandle イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCHandleKeyword (0x2) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
SetGCHandle |
30 | GC ハンドルが設定されました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
HandleID |
win:Pointer |
割り当てられたハンドルのアドレス。 |
ObjectID |
win:Pointer |
ハンドルが作成されたオブジェクトのアドレス。 |
Kind |
win:UInt32 |
設定された GC ハンドルの種類。 0x0 : WeakShort0x1 : WeakLong0x2 : 強い0x3 : 固定0x4 : 変数0x5 : RefCounted0x6 : 依存0x7 : AsyncPinned0x8 : SizedRef |
Generation |
win:UInt32 |
ハンドルが作成されたオブジェクトの生成。 |
AppDomainID |
win:UInt64 |
AppDomain ID。 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
DestroyGCHandle イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCHandleKeyword (0x2) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
DestroyGCHandle |
31 | GC ハンドルが破棄されます。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
HandleID |
win:Pointer |
破棄されたハンドルのアドレス。 |
ClrInstanceID |
win:UInt16 | CoreCLR のインスタンスの一意の ID。 |
PinObjectAtGCTime イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
Verbose (5) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
PinObjectAtGCTime |
33 | GC 中にオブジェクトがピン留めされました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
HandleID |
win:Pointer |
ハンドルのアドレス。 |
ObjectID |
win:Pointer |
ピン留めされたオブジェクトのアドレス。 |
ObjectSize |
win:UInt64 |
ピン留めされたオブジェクトのサイズ。 |
TypeName |
win:UnicodeString |
ピン留めされたオブジェクトの型の名前。 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
GCTriggered イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
Verbose (5) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCTriggered |
35 | GC がトリガーされました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
Reason |
win:UInt32 |
GC がトリガーされた理由。0x0 : AllocSmall0x1 : 誘発0x2 : LowMemory0x3 : 空0x4 : AllocLarge0x5 : OutOfSpaceSmallObjectHeap0x6 : OutOfSpaceLargeObjectHeap0x7 :InducedNoForce0x8 : ストレス0x9 : InducedLowMemory |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
IncreaseMemoryPressure イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
IncreaseMemoryPressure |
200 | メモリ不足が増加しました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
ClrInstanceID |
win:UInt16 | CoreCLR のインスタンスの一意の ID。 |
DecreaseMemoryPressure イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
DecreaseMemoryPressure |
201 | メモリ不足が減少しました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
BytesFreed |
win:UInt32 |
解放されたバイト数。 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
GCMarkWithType イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
情報 (4) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCMarkWithType |
202 | GC マーク フェーズ中に GC ルートがマークされました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
HeapNum |
win:UInt32 |
ヒープ番号。 |
ClrInstanceID |
win:UInt16 | CoreCLR のインスタンスの一意の ID。 |
Type |
win:UInt32 |
GC ルート型。0x0 : スタック0x1 : ファイナライザー0x2 : ハンドル0x3 : 古い0x4 : SizedRef0x5 : オーバーフロー |
Bytes |
win:UInt64 |
マークされたバイト数。 |
GCJoin_V2 イベント
次の表に、キーワードとレベルを示します。
イベントを発生させるためのキーワード | レベル |
---|---|
GCKeyword (0x1) |
Verbose (5) |
次の表に、イベント情報を示します。
出来事 | イベント ID | 発生日時 |
---|---|---|
GCJoin_V2 |
203 | GC スレッドが結合されました。 |
イベント データを次の表に示します。
フィールド名 | データ型 | 形容 |
---|---|---|
Heap |
win:UInt32 |
ヒープ番号 |
JoinTime |
win:UInt32 |
このイベントが結合の開始時または結合の終了時に発生するかどうかを示します (結合の開始に0x0 、結合の終了に 0x1 ) |
JoinType |
win:UInt32 |
結合の種類。 0x0 : 最後の結合0x1 : 参加0x2 : 再起動0x3 : 最初の逆結合0x4 : 逆結合 |
ClrInstanceID |
win:UInt16 |
CoreCLR のインスタンスの一意の ID。 |
.NET