가비지 수집 ETW 이벤트
업데이트: 2010년 8월
이러한 이벤트는 가비지 수집과 관련된 정보를 수집합니다. 가비지 수집이 몇 차례 수행되었는지, 가비지 수집 동안 얼마만큼의 메모리가 비워졌는지 등을 확인하는 것을 비롯하여 진단 및 디버깅에 도움을 줍니다.
이 범주는 다음 이벤트로 구성됩니다.
GCStart_V1 이벤트
GCEnd_V1 이벤트
GCHeapStats_V1 이벤트
GCCreateSegment_V1 이벤트
GCFreeSegment_V1 이벤트
GCRestartEEBegin_V1 이벤트
GCRestartEEEnd_V1 이벤트
GCSuspendEE_V1 이벤트
GCSuspendEEEnd_V1 이벤트
GCAllocationTick_V1 이벤트
GCFinalizersBegin_V1 이벤트
GCFinalizersEnd_V1 이벤트
GCCreateConcurrentThread_V1 이벤트
GCTerminateConcurrentThread_V1 이벤트
GCStart_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다. 자세한 내용은 CLR ETW 키워드 및 수준을 참조하십시오.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCStart_V1 |
1 |
가비지 수집이 시작되었습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
---|---|---|
개수 |
win:UInt32 |
n번째 가비지 수집입니다. |
Depth |
win:UInt32 |
수집되고 있는 세대입니다. |
이유 |
win:UInt32 |
가비지 수집이 트리거된 이유입니다. 0x0 - 소형 개체 힙 할당 0x1 - 감소 0x2 - 메모리 부족 0x3 - 비어 있음 0x4 - 대형 개체 힙 할당 0x5 - 공간 부족(소형 개체 힙) 0x6 - 공간 부족(대형 개체 힙) |
형식 |
win:UInt32 |
0x0 - 백그라운드 가비지 수집 외에 발생하는 가비지 수집 차단 0x1 - 백그라운드 가비지 수집 0x2 - 백그라운드 가비지 수집 중에 발생하는 가비지 수집 차단 |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCEnd_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCEnd_V1 |
2 |
가비지 수집이 끝났습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
---|---|---|
개수 |
win:UInt32 |
n번째 가비지 수집입니다. |
Depth |
win:UInt32 |
수집된 세대입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCHeapStats_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
설명 |
---|---|---|
GCHeapStats_V1 |
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 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCCreateSegment_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCCreateSegment_V1 |
5 |
새 가비지 수집 세그먼트가 만들어졌습니다. 또한 이미 실행 중인 프로세스에서 추적을 사용할 때 이 이벤트는 기존의 각 세그먼트에 대해 발생합니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
---|---|---|
Address |
win:UInt64 |
세그먼트의 주소입니다. |
크기 |
win:UInt64 |
세그먼트의 크기입니다. |
형식 |
win:UInt32 |
0x0 - 소형 개체 힙 0x1 - 대형 개체 힙 0x2 - 읽기 전용 힙 |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCFreeSegment_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCFreeSegment_V1 |
6 |
가비지 수집 세그먼트가 릴리스되었습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
---|---|---|
Address |
win:UInt64 |
세그먼트의 주소입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCRestartEEBegin_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCRestartEEBegin_V1 |
7 |
공용 언어 런타임 일시 중단의 재개가 시작되었습니다. |
이벤트 데이터가 없습니다.
맨 위로 이동
GCRestartEEEnd_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCRestartEEEnd_V1 |
3 |
공용 언어 런타임 일시 중단의 재개가 끝났습니다. |
이벤트 데이터가 없습니다.
맨 위로 이동
GCSuspendEE_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCSuspendEE_V1 |
9 |
가비지 수집을 위한 실행 엔진의 일시 중단이 시작되었습니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
---|---|---|
이유 |
win:UInt16 |
0x0 - 기타 0x1 - 가비지 수집 0x2 - 응용 프로그램 도메인 종료 0x3 - 코드 피칭 0x4 - 종료 0x5 - 디버거 0x6 - 가비지 수집 준비 |
개수 |
win:UInt32 |
일시 중단된 스레드 수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCSuspendEEEnd_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCSuspendEEEnd_V1 |
8 |
가비지 수집을 위한 실행 엔진의 일시 중단이 끝났습니다. |
이벤트 데이터가 없습니다.
맨 위로 이동
GCAllocationTick_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCAllocationTick_V1 |
10 |
약 100KB가 할당될 때마다 발생합니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
---|---|---|
AllocationSize |
win:UInt32 |
할당 크기입니다. |
종류 |
win:UInt32 |
0x0 - 소형 개체 할당(할당이 소형 개체 힙에 있음) 0x1 - 대형 개체 할당(할당이 대형 개체 힙에 있음) |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCFinalizersBegin_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCFinalizersBegin_V1 |
14 |
실행 중인 종료자의 시작입니다. |
이벤트 데이터가 없습니다.
맨 위로 이동
GCFinalizersEnd_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCFinalizersEnd_V1 |
13 |
실행 중인 종료자의 끝입니다. |
다음 표에서는 이벤트 데이터를 보여 줍니다.
필드 이름 |
데이터 형식 |
설명 |
---|---|---|
개수 |
win:UInt32 |
실행된 종료자의 수입니다. |
ClrInstanceID |
win:UInt16 |
CLR 또는 CoreCLR 인스턴스의 고유 ID입니다. |
맨 위로 이동
GCCreateConcurrentThread_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
ThreadingKeyword(0x10000) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCCreateConcurrentThread_V1 |
11 |
동시 가비지 수집 스레드가 만들어졌습니다. |
이벤트 데이터가 없습니다.
맨 위로 이동
GCTerminateConcurrentThread_V1 이벤트
다음 표에서는 키워드 및 수준을 보여 줍니다.
이벤트를 발생시키는 키워드 |
수준 |
---|---|
GCKeyword(0x1) |
Informational (4) |
ThreadingKeyword(0x10000) |
Informational (4) |
다음 표에서는 이벤트 정보를 보여 줍니다.
Event |
이벤트 ID |
발생하는 경우 |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 |
동시 가비지 수집 스레드가 종료되었습니다. |
이벤트 데이터가 없습니다.
맨 위로 이동
참고 항목
개념
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2010년 8월 |
GCStart_V1 이벤트의 형식 정보가 수정되었습니다. |
콘텐츠 버그 수정 |