Поделиться через


События сборки мусора (трассировка событий Windows)

Эти события собирают сведения, относящиеся к сборке мусора. Они помогают при диагностике и отладке, включая определение количества выполнений сборки мусора, объема памяти, освобожденного при сборке мусора и т. д.

Эта категория состоит из следующих событий.

  • Событие 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 (трассировка событий Windows).)

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCStart_V1

1

Сборка мусора начата.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

Количество

win:UInt32

Сборка мусора, n-я по счету.

Depth

win:UInt32

Поколение, для которого выполняется сборка.

Причина

win:UInt32

Причина запуска сборки мусора:

0x0 — Выделение в куче небольших объектов (SOH).

0x1 — вызванная.

0x2 — недостаточно памяти.

0x3 — пусто.

0x4 — Выделение в куче больших объектов (LOH).

0x5 — Нет места (для SOH).

0x6 — Нет места (для LOH).

Type

win:UInt32

0x0 — возникло блокирование сборки мусора вне фоновой сборки мусора.

0x1 — фоновая сборка мусора.

0x2 — возникло блокирование сборки мусора во время фоновой сборки мусора.

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие GCEnd_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCEnd_V1

2

Сборка мусора закончена.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

Количество

win:UInt32

Сборка мусора, n-я по счету.

Depth

win:UInt32

Поколение, для которого была выполнена сборка.

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие GCHeapStats_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Описание

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.

К началу

Событие GCCreateSegment_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCCreateSegment_V1

5

Был создан новый сегмент сборки мусора. Кроме того, при включении трассировки для уже работающего процесс, это событие создается для каждого существующего сегмента.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

Адрес

win:UInt64

Адрес сегмента.

Размер

win:UInt64

Размер сегмента.

Type

win:UInt32

0x0 — куча небольших объектов.

0x1 — куча больших объектов.

0x2 — куча только для чтения.

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие GCFreeSegment_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCFreeSegment_V1

6

Был освобожден сегмент сборки мусора.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

Адрес

win:UInt64

Адрес сегмента.

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие GCRestartEEBegin_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCRestartEEBegin_V1

7

Началось возобновление приостановленной среды CLR.

Данные события отсутствуют.

К началу

Событие GCRestartEEEnd_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCRestartEEEnd_V1

3

Закончилось возобновление приостановленной среды CLR.

Данные события отсутствуют.

К началу

Событие GCSuspendEE_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCSuspendEE_V1

9

Начало приостановки ядра выполнения для сборки мусора.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

Причина

win:UInt16

0x0 — другое.

0x1 — сборка мусора.

0x2 — завершение работы домена приложения.

0x3 — отмена кода.

0x4 — завершение работы.

0x5 — отладчик.

0x6 — подготовка к сборке мусора.

Количество

win:UInt32

Количество приостановленных потоков.

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие GCSuspendEEEnd_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCSuspendEEEnd_V1

8

Окончание приостановки ядра выполнения для сборки мусора.

Данные события отсутствуют.

К началу

Событие GCAllocationTick_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCAllocationTick_V1

10

Каждый раз выделяется около 100 КБ.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

AllocationSize

win:UInt32

Размер выделения.

Тип

win:UInt32

0x0 — Выделение для небольшого объекта (выделение в куче небольших объектов).

0x1 — Выделение для большого объекта (выделение в куче больших объектов).

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие GCFinalizersBegin_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCFinalizersBegin_V1

14

Начало выполнения методов завершения.

Данные события отсутствуют.

К началу

Событие GCFinalizersEnd_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCFinalizersEnd_V1

13

Окончание выполнения методов завершения.

В следующей таблице приведены сведения о событии.

Имя поля

Тип данных

Описание

Количество

win:UInt32

Число выполнявшихся методов завершения.

ClrInstanceID

win:UInt16

Уникальный идентификатор экземпляра среды CLR или CoreCLR.

К началу

Событие GCCreateConcurrentThread_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

ThreadingKeyword (0x10000)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCCreateConcurrentThread_V1

11

Создан параллельный поток сборки мусора.

Данные события отсутствуют.

К началу

Событие GCTerminateConcurrentThread_V1

В следующей таблице показаны ключевое слово и уровень.

Ключевое слово для вызова события

Уровень

GCKeyword (0x1)

Информационный (4)

ThreadingKeyword (0x10000)

Информационный (4)

В следующей таблице приведены сведения о событии.

Событие

Идентификатор события

Условие вызова

GCTerminateConcurrentThread_V1

12

Завершен параллельный поток сборки мусора.

Данные события отсутствуют.

К началу

См. также

Основные понятия

События трассировки событий Windows в среде CLR

Журнал изменений

Дата

Журнал

Причина

Август 2010

Исправлены сведения о типе для события GCStart_V1.

Исправление ошибки содержимого.