다음을 통해 공유


가비지 수집 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

동시 가비지 수집 스레드가 종료되었습니다.

이벤트 데이터가 없습니다.

맨 위로 이동

참고 항목

개념

CLR ETW 이벤트

변경 기록

날짜

변경 내용

이유

2010년 8월

GCStart_V1 이벤트의 형식 정보가 수정되었습니다.

콘텐츠 버그 수정