Eventos de recolección de elementos no utilizados en tiempo de ejecución de .NET
Los eventos descritos en este artículo recopilan información relacionada con la recolección de elementos no utilizados. Ayudan en el diagnóstico y la depuración, incluida la determinación del número de veces que se realizó la recolección de elementos no utilizados, la cantidad de memoria que se liberó durante la recolección de elementos no utilizados, etc. Para obtener más información sobre cómo usar estos eventos con fines de diagnóstico, consulte registro y seguimiento de aplicaciones .NET.
evento GCStart_V2
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCStart_V1 |
1 | Se ha iniciado una recolección de elementos no utilizados. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Count |
win:UInt32 |
La nrecolección de elementos no utilizados. |
Depth |
win:UInt32 |
Generación que se va a recopilar. |
Reason |
win:UInt32 |
Por qué se desencadenó la recolección de elementos no utilizados:0x0 : asignación de montón de objetos pequeños.0x1 : inducido.0x2 : memoria baja.0x3 : vacío.0x4 : asignación de montón de objetos grandes.0x5 : espacio insuficiente (para el montón de objetos pequeños).0x6 : espacio insuficiente (para montón de objetos grandes).0x7 : inducida pero no forzada como bloqueo. |
Type |
win:UInt32 |
0x0 : bloqueo de la recolección de elementos no utilizados fuera de la recolección de elementos no utilizados en segundo plano.0x1 : recolección de elementos no utilizados en segundo plano.0x2 : bloqueo de la recolección de elementos no utilizados durante la recolección de elementos no utilizados en segundo plano. |
ClrInstanceID |
win:UInt16 | Identificador único de la instancia de CoreCLR. |
evento GCEnd_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCEnd_V1 |
2 | La recolección de elementos no utilizados ha finalizado. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Count |
win:UInt32 |
La nrecolección de elementos no utilizados. |
Depth |
win:UInt32 |
Generación recopilada. |
ClrInstanceID |
win:UInt16 | Identificador único de la instancia de CoreCLR. |
evento GCHeapStats_V2
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Descripción |
---|---|---|
GCHeapStats_V2 |
4 | Muestra las estadísticas del montón al final de cada recolección de elementos no utilizados. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
GenerationSize0 |
win:UInt64 |
Tamaño, en bytes, de la memoria de generación 0. |
TotalPromotedSize0 |
win:UInt64 |
Número de bytes que se promueven de la generación 0 a la generación 1. |
GenerationSize1 |
win:UInt64 |
Tamaño, en bytes, de la memoria de generación 1. |
TotalPromotedSize1 |
win:UInt64 |
Número de bytes que se promueven de la generación 1 a la generación 2. |
GenerationSize2 |
win:UInt64 |
Tamaño, en bytes, de la memoria de generación 2. |
TotalPromotedSize2 |
win:UInt64 |
Número de bytes que sobrevivieron en la generación 2 después de la última colección. |
GenerationSize3 |
win:UInt64 |
Tamaño, en bytes, del montón de objetos grandes. |
TotalPromotedSize3 |
win:UInt64 |
Número de bytes que sobrevivieron en el montón de objetos grandes después de la última colección. |
FinalizationPromotedSize |
win:UInt64 |
Tamaño total, en bytes, de los objetos que están listos para finalizar. |
FinalizationPromotedCount |
win:UInt64 |
Número de objetos que están listos para finalizar. |
PinnedObjectCount |
win:UInt32 |
Número de objetos anclados (no extraíbles). |
SinkBlockCount |
win:UInt32 |
Número de bloques de sincronización en uso. |
GCHandleCount |
win:UInt32 |
Número de identificadores de recolección de elementos no utilizados en uso. |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
GenerationSize4 |
win:UInt64 |
Tamaño, en bytes, del montón de objetos anclado. |
TotalPromotedSize4 |
win:UInt64 |
Número de bytes que sobrevivieron en el montón de objetos anclados después de la última colección. |
evento GCCreateSegment_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCCreateSegment_V1 |
5 | Se ha creado un nuevo segmento de recolección de elementos no utilizados. Además, cuando el seguimiento está habilitado en un proceso que ya se está ejecutando, este evento se genera para cada segmento existente. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Address |
win:UInt64 |
Dirección del segmento. |
Size |
win:UInt64 |
Tamaño del segmento. |
Type |
win:UInt32 |
0x0: montón de objetos pequeños. 0x1: montón de objetos grandes. 0x2: montón de solo lectura. |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
Tenga en cuenta que el tamaño de los segmentos asignados por el recolector de elementos no utilizados es específico de la implementación y está sujeto a cambios en cualquier momento, incluido en actualizaciones periódicas. La aplicación nunca debe hacer suposiciones sobre o depender de un tamaño de segmento determinado, ni tampoco debe intentar configurar la cantidad de memoria disponible para las asignaciones de segmentos.
evento GCFreeSegment_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCFreeSegment_V1 |
6 | Se ha liberado un segmento de recolección de elementos no utilizados. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Address |
win:UInt64 |
Dirección del segmento. |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
evento GCRestartEEBegin_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCRestartEEBegin_V1 |
7 | Se ha iniciado la reanudación de la suspensión de Common Language Runtime. |
Este evento no tiene ningún dato de evento.
evento GCRestartEEEnd_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCRestartEEEnd_V1 |
3 | La reanudación de la suspensión de Common Language Runtime ha finalizado. |
Este evento no tiene ningún dato de evento.
evento GCSuspendEEEnd_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Fin de la suspensión del motor de ejecución para la recolección de elementos no utilizados. |
Este evento no tiene ningún dato de evento.
evento GCSuspendEEBegin_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCSuspendEEBegin_V1 |
9 | Inicio de la suspensión del motor de ejecución para la recolección de elementos no utilizados. |
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Count |
win:UInt32 |
La nrecolección de elementos no utilizados. |
Reason |
win:UInt32 |
Motivo de la suspensión ee.0x0 : Suspender para otros0x1 : suspender para GC.0x2 : suspender el apagado de AppDomain.0x3 : suspender para el tono de código.0x4 : suspender para el apagado.0x5 : suspender para el depurador.0x6 : Suspender para la preparación de GC.0x7 : suspender para el barrido del depurador |
evento GCAllocationTick_V3
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Detallado (5) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCAllocationTick_V3 |
10 | Cada vez se asignan aproximadamente 100 KB. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
AllocationAmount |
win:UInt32 |
Tamaño de asignación, en bytes. Este valor es preciso para las asignaciones que son menores que la longitud de un ULONG (4.294.967.295 bytes). Si la asignación es mayor, este campo contiene un valor truncado. Use AllocationAmount64 para asignaciones muy grandes. |
AllocationKind |
win:UInt32 |
0x0 : asignación de objetos pequeño (la asignación está en un montón de objetos pequeño).0x1 : asignación de objetos grandes (la asignación está en montón de objetos grandes). |
AllocationAmount64 |
win:UInt64 |
Tamaño de asignación, en bytes. Este valor es preciso para las asignaciones muy grandes. |
TypeId |
win:Pointer |
Dirección de MethodTable. Cuando hay varios tipos de objetos asignados durante este evento, esta es la dirección de MethodTable que corresponde al último objeto asignado (el objeto que provocó que se superara el umbral de 100 KB). |
TypeName |
win:UnicodeString |
Nombre del tipo que se asignó. Cuando hay varios tipos de objetos asignados durante este evento, este es el tipo del último objeto asignado (el objeto que provocó que se superara el umbral de 100 KB). |
HeapIndex |
win:UInt32 |
Montón donde se asignó el objeto. Este valor es 0 (cero) cuando se ejecuta con la recolección de elementos no utilizados de estación de trabajo. |
Address |
win:Pointer |
Dirección del último objeto asignado. |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
evento GCCreateConcurrentThread_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
ThreadingKeyword (0x10000) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | Se creó un subproceso de recolección de elementos no utilizados simultáneo. |
Este evento no tiene ningún dato de evento.
evento GCTerminateConcurrentThread_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
ThreadingKeyword (0x10000) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | Se finalizó el subproceso simultáneo de recolección de elementos no utilizados. |
Este evento no tiene ningún dato de evento.
evento GCFinalizersBegin_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCFinalizersBegin_V1 |
14 | Inicio de la ejecución de finalizadores. |
Este evento no tiene ningún dato de evento.
evento GCFinalizersEnd_V1
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCFinalizersEnd_V1 |
13 | Final de los finalizadores en ejecución. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Count |
win:UInt32 |
Número de finalizadores que se ejecutaron. |
ClrInstanceID |
win:UInt16 | Identificador único de la instancia de CLR o CoreCLR. |
Evento SetGCHandle
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCHandleKeyword (0x2) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
SetGCHandle |
30 | Se ha establecido un identificador de GC. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
HandleID |
win:Pointer |
Dirección del identificador asignado. |
ObjectID |
win:Pointer |
Dirección del objeto cuyo identificador se creó. |
Kind |
win:UInt32 |
Tipo de identificador de GC que se estableció. 0x0 : WeakShort 0x1 : WeakLong 0x2 : Fuerte 0x3 : anclado 0x4 : variable0x5 : RefCounted 0x6 : Dependiente0x7 : AsyncPinned0x8 : SizedRef |
Generation |
win:UInt32 |
Generación del objeto cuyo identificador se creó. |
AppDomainID |
win:UInt64 |
Identificador de AppDomain. |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
Evento DestroyGCHandle
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCHandleKeyword (0x2) |
Informativo (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
DestroyGCHandle |
31 | Se destruye un identificador gc. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
HandleID |
win:Pointer |
Dirección del identificador destruido. |
ClrInstanceID |
win:UInt16 | Identificador único de la instancia de CoreCLR. |
Evento PinObjectAtGCTime
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Detallado (5) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
PinObjectAtGCTime |
33 | Un objeto se ancló durante una gc. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
HandleID |
win:Pointer |
Dirección del identificador. |
ObjectID |
win:Pointer |
Dirección del objeto anclado. |
ObjectSize |
win:UInt64 |
Tamaño del objeto anclado. |
TypeName |
win:UnicodeString |
Nombre del tipo del objeto anclado. |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
Evento GCTriggered
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Detallado (5) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCTriggered |
35 | Se ha desencadenado un GC. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Reason |
win:UInt32 |
Motivo por el que se desencadenó un GC.0x0 : AllocSmall0x1 : Inducido 0x2 : LowMemory 0x3 : Vacío 0x4 : AllocLarge 0x5 : OutOfSpaceSmallObjectHeap 0x6 : OutOfSpaceLargeObjectHeap 0x7 :InducedNoForce 0x8 : Estrés 0x9 : InducedLowMemory |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
Evento IncreaseMemoryPressure
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Información (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
IncreaseMemoryPressure |
200 | Se ha aumentado la presión de memoria. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
ClrInstanceID |
win:UInt16 | Identificador único de la instancia de CoreCLR. |
Evento DecreaseMemoryPressure
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Información (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
DecreaseMemoryPressure |
201 | Se ha reducido la presión de memoria. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
BytesFreed |
win:UInt32 |
Bytes liberados. |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |
Evento GCMarkWithType
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Información (4) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCMarkWithType |
202 | Se ha marcado una raíz de GC durante la fase de marcado de GC. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
HeapNum |
win:UInt32 |
Número del montón. |
ClrInstanceID |
win:UInt16 | Identificador único de la instancia de CoreCLR. |
Type |
win:UInt32 |
Tipo raíz de GC.0x0 : Pila0x1 : Finalizador0x2 : Identificador0x3 : Anterior0x4 : SizedRef0x5 : Overflow |
Bytes |
win:UInt64 |
Número de bytes marcados. |
evento GCJoin_V2
En la tabla siguiente se muestra la palabra clave y el nivel:
Palabra clave para generar el evento | Nivel |
---|---|
GCKeyword (0x1) |
Detallado (5) |
En la tabla siguiente se muestra la información del evento:
Evento | Id. de evento | Se genera cuando |
---|---|---|
GCJoin_V2 |
203 | Un subproceso de GC unido. |
En la tabla siguiente se muestran los datos del evento:
Nombre del campo | Tipo de dato | Descripción |
---|---|---|
Heap |
win:UInt32 |
Número del montón |
JoinTime |
win:UInt32 |
Indica si este evento se desencadena al principio de una combinación o al final de una combinación (0x0 para el inicio de la combinación, 0x1 para el final de la combinación). |
JoinType |
win:UInt32 |
Tipo de combinación. 0x0 : Última unión0x1 : Unirse 0x2 : Reiniciar 0x3 : primera combinación inversa0x4 : Combinación inversa |
ClrInstanceID |
win:UInt16 |
Identificador único de la instancia de CoreCLR. |