События сборки мусора среды выполнения .NET
События, описанные в этой статье, собирают сведения, относящиеся к сборке мусора. Они помогают в диагностике и отладке, включая определение того, сколько раз выполнялась сборка мусора, сколько памяти было освобождено во время сборки мусора и т. д. Дополнительные сведения об использовании этих событий в целях диагностики см. в разделе Ведение журнала и трассировка приложений .NET.
Событие GCStart_V2
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCStart_V1 |
1 | Сборка мусора начата. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
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. |
Событие GCEnd_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCEnd_V1 |
2 | Сборка мусора закончена. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
Count |
win:UInt32 |
Сборка мусора, n-я по счету. |
Depth |
win:UInt32 |
Поколение, для которого выполнялась сборка. |
ClrInstanceID |
win:UInt16 | Уникальный идентификатор для экземпляра CoreCLR. |
Событие GCHeapStats_V2
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | Идентификатор события | Description |
---|---|---|
GCHeapStats_V2 |
4 | Показывает статистику кучи по завершении каждой сборки мусора. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
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. |
GenerationSize4 |
win:UInt64 |
Размер кучи закрепленных объектов (в байтах). |
TotalPromotedSize4 |
win:UInt64 |
Число байт, оставшихся в куче закрепленных объектов после последней сборки. |
Событие GCCreateSegment_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCCreateSegment_V1 |
5 | Был создан новый сегмент сборки мусора. Кроме того, при включении трассировки для уже работающего процесса это событие создается для каждого существующего сегмента. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
Address |
win:UInt64 |
Адрес сегмента. |
Size |
win:UInt64 |
Размер сегмента. |
Type |
win:UInt32 |
0x0 — куча маленьких объектов. 0x1 — куча больших объектов. 0x2 — куча только для чтения. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Обратите внимание, что размер сегментов, выделенных сборщиком мусора, зависит от реализации и может быть изменен в любое время, в том числе при периодических обновлениях. Приложение не должно делать никаких допущений относительно размера определенного сегмента, полагаться на него или пытаться настроить объем памяти, доступный для выделения сегментов.
Событие GCFreeSegment_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCFreeSegment_V1 |
6 | Сегмент сборки мусора был освобожден. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
Address |
win:UInt64 |
Адрес сегмента. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие GCRestartEEBegin_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCRestartEEBegin_V1 |
7 | Началось возобновление приостановленной среды CLR. |
Это событие не содержит данных о событиях.
Событие GCRestartEEEnd_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | Идентификатор события | Условие вызова |
---|---|---|
GCRestartEEEnd_V1 |
3 | Возобновление приостановленной среды CLR завершено. |
Это событие не содержит данных о событиях.
GCSuspendEEEnd_V1 event
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Завершена приостановка механизма выполнения сборки мусора. |
Это событие не содержит данных о событиях.
Событие GCSuspendEEBegin_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCSuspendEEBegin_V1 |
9 | Началась приостановка механизма выполнения сборки мусора. |
Имя поля | Тип данных | Description |
---|---|---|
Count |
win:UInt32 |
Сборка мусора, n-я по счету. |
Reason |
win:UInt32 |
Причина приостановки EE.0x0 : приостановка по другой причине.0x1 : приостановка для GC.0x2 : приостановка для завершения работы AppDomain.0x3 : приостановка для пошагового выполнения кода.0x4 : приостановка для завершения работы.0x5 : приостановка для отладчика.0x6 : приостановка для подготовки GC.0x7 : приостановка для очистки отладчика. |
Событие GCAllocationTick_V3
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Подробный (5) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCAllocationTick_V3 |
10 | Каждый раз выделяется около 100 КБ. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
AllocationAmount |
win:UInt32 |
Размер выделения в байтах. Это значение является точным для выделений, размер которых меньше длины ULONG (4 294 967 295 байт). Если выделение больше, это поле содержит усеченное значение. Используйте AllocationAmount64 для очень больших выделений. |
AllocationKind |
win:UInt32 |
0x0 — выделение маленького объекта (выделение в куче маленьких объектов).0x1 — выделение большого объекта (выделение в куче больших объектов). |
AllocationAmount64 |
win:UInt64 |
Размер выделения в байтах. Это значение является точным для очень больших выделений. |
TypeId |
win:Pointer |
Адрес MethodTable. Если в ходе этого события было выделено несколько типов объектов, указывается адрес MethodTable, соответствующий последнему выделенному объекту (объекту, вызвавшему превышение порогового значения 100 КБ). |
TypeName |
win:UnicodeString |
Имя выделенного типа. Если в ходе этого события было выделено несколько типов объектов, указывается тип последнего выделенного объекта (объекта, вызвавшего превышение порогового значения 100 КБ). |
HeapIndex |
win:UInt32 |
Куча, в которой был выделен объект. Это значение равно 0 (нулю) при выполнении сборки мусора на рабочей станции. |
Address |
win:Pointer |
Адрес последнего выделенного объекта. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие GCCreateConcurrentThread_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
ThreadingKeyword (0x10000) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | Был создан параллельный поток сборки мусора. |
Это событие не содержит данных о событиях.
Событие GCTerminateConcurrentThread_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
ThreadingKeyword (0x10000) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | Параллельный поток сборки мусора был завершен. |
Это событие не содержит данных о событиях.
Событие GCFinalizersBegin_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCFinalizersBegin_V1 |
14 | Начало выполнения методов завершения. |
Это событие не содержит данных о событиях.
Событие GCFinalizersEnd_V1
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCFinalizersEnd_V1 |
13 | Завершение выполнения методов завершения. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
Count |
win:UInt32 |
Число выполненных методов завершения. |
ClrInstanceID |
win:UInt16 | Уникальный идентификатор экземпляра CLR или CoreCLR. |
Событие SetGCHandle
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCHandleKeyword (0x2) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
SetGCHandle |
30 | Дескриптор сборки мусора установлен. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
HandleID |
win:Pointer |
Адрес выделенного дескриптора. |
ObjectID |
win:Pointer |
Адрес объекта, дескриптор которого был создан. |
Kind |
win:UInt32 |
Тип установленного дескриптора сборки мусора. 0x0 : WeakShort 0x1 : WeakLong 0x2 :Сильный 0x3 :Закрепленных 0x4 : Variable0x5 : RefCounted 0x6 : Dependent0x7 : AsyncPinned0x8 : SizedRef |
Generation |
win:UInt32 |
Генерация объекта, дескриптор которого был создан. |
AppDomainID |
win:UInt64 |
Идентификатор AppDomain. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие DestroyGCHandle
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCHandleKeyword (0x2) |
Информационный (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
DestroyGCHandle |
31 | Дескриптор GC удален. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
HandleID |
win:Pointer |
Адрес удаленного дескриптора. |
ClrInstanceID |
win:UInt16 | Уникальный идентификатор для экземпляра CoreCLR. |
Событие PinObjectAtGCTime
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Подробный (5) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
PinObjectAtGCTime |
33 | Объект был закреплен во время сборки мусора. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
HandleID |
win:Pointer |
Адрес дескриптора. |
ObjectID |
win:Pointer |
Адрес закрепленного объекта. |
ObjectSize |
win:UInt64 |
Размер закрепленного объекта. |
TypeName |
win:UnicodeString |
Имя типа закрепленного объекта. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие GCTriggered
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Подробный (5) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCTriggered |
35 | Сборка мусора активирована. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
Reason |
win:UInt32 |
Причина активации сборки мусора.0x0 : AllocSmall0x1 :Индуцированной 0x2 : LowMemory 0x3 :Пустой 0x4 : AllocLarge 0x5 : OutOfSpaceSmallObjectHeap 0x6 : OutOfSpaceLargeObjectHeap 0x7 :InducedNoForce 0x8 :Стресс 0x9 : InducedLowMemory |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие IncreaseMemoryPressure
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информация (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
IncreaseMemoryPressure |
200 | Повысилась нехватка памяти. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
ClrInstanceID |
win:UInt16 | Уникальный идентификатор для экземпляра CoreCLR. |
Событие DecreaseMemoryPressure
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информация (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
DecreaseMemoryPressure |
201 | Уменьшилась нехватка памяти. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
BytesFreed |
win:UInt32 |
Освобождено байт. |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |
Событие GCMarkWithType
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Информация (4) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCMarkWithType |
202 | Корень сборки мусора был помечен на этапе пометки сборки мусора. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
HeapNum |
win:UInt32 |
Номер кучи. |
ClrInstanceID |
win:UInt16 | Уникальный идентификатор для экземпляра CoreCLR. |
Type |
win:UInt32 |
Корневой тип сборки мусора.0x0 : Stack0x1 : Finalizer0x2 : Handle0x3 : Older0x4 : SizedRef0x5 : Overflow |
Bytes |
win:UInt64 |
Число помеченных байт. |
Событие GCJoin_V2
В таблице ниже показаны ключевое слово и уровень.
Ключевое слово для вызова события | Уровень |
---|---|
GCKeyword (0x1) |
Подробный (5) |
В таблице ниже представлены сведения о событии.
Мероприятие | ИД события | Условие вызова |
---|---|---|
GCJoin_V2 |
203 | Поток сборки мусора присоединен. |
В таблице ниже представлены данные события.
Имя поля | Тип данных | Description |
---|---|---|
Heap |
win:UInt32 |
Номер кучи |
JoinTime |
win:UInt32 |
Указывает, инициируется ли это событие в начале соединения или при окончании соединения (0x0 для начала соединения, 0x1 для окончания соединения) |
JoinType |
win:UInt32 |
Тип соединения. 0x0 : последнее соединение0x1 :Присоединиться к 0x2 :Перезапустить 0x3 : первое обратное соединение0x4 : обратное соединение |
ClrInstanceID |
win:UInt16 |
Уникальный идентификатор для экземпляра CoreCLR. |