Eventos de coleta de lixo em tempo de execução do .NET
Os eventos descritos neste artigo coletam informações referentes à coleta de lixo. Eles ajudam no diagnóstico e depuração, incluindo determinar quantas vezes a coleta de lixo foi realizada, quanta memória foi liberada durante a coleta de lixo, etc. Para obter mais informações sobre como usar esses eventos para fins de diagnóstico, consulte Registro em log e rastreamento de aplicativos .NET
GCStart_V2 Evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCStart_V1 |
1 | Iniciou-se a recolha de lixo. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
Count |
win:UInt32 |
A nésima coleta de lixo. |
Depth |
win:UInt32 |
A geração que está sendo coletada. |
Reason |
win:UInt32 |
Por que a coleta de lixo foi acionada:0x0 - Alocação de pilha de pequenos objetos.0x1 - Induzido.0x2 - Memória baixa.0x3 - Vazio.0x4 - Alocação de heap de objetos grandes.0x5 - Fora do espaço (para pilha de objetos pequenos).0x6 - Fora do espaço (para grande pilha de objetos).0x7 - Induzido, mas não forçado como bloqueio. |
Type |
win:UInt32 |
0x0 - O bloqueio da coleta de lixo ocorreu fora da coleta de lixo de fundo.0x1 - Recolha de lixo de fundo.0x2 - O bloqueio da coleta de lixo ocorreu durante a coleta de lixo de fundo. |
ClrInstanceID |
vitória:UInt16 | ID exclusivo para a instância do CoreCLR. |
Evento GCEnd_V1
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCEnd_V1 |
2 | A recolha de lixo terminou. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
Count |
win:UInt32 |
A nésima coleta de lixo. |
Depth |
win:UInt32 |
A geração que foi recolhida. |
ClrInstanceID |
vitória:UInt16 | ID exclusivo para a instância do CoreCLR. |
GCHeapStats_V2 Evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Description |
---|---|---|
GCHeapStats_V2 |
4 | Mostra as estatísticas de pilha no final de cada coleta de lixo. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
GenerationSize0 |
win:UInt64 |
O tamanho, em bytes, da memória da geração 0. |
TotalPromotedSize0 |
win:UInt64 |
O número de bytes que são promovidos da geração 0 para a geração 1. |
GenerationSize1 |
win:UInt64 |
O tamanho, em bytes, da memória de geração 1. |
TotalPromotedSize1 |
win:UInt64 |
O número de bytes que são promovidos da geração 1 para a geração 2. |
GenerationSize2 |
win:UInt64 |
O tamanho, em bytes, da memória de geração 2. |
TotalPromotedSize2 |
win:UInt64 |
O número de bytes que sobreviveram na geração 2 após a última coleção. |
GenerationSize3 |
win:UInt64 |
O tamanho, em bytes, da pilha de objeto grande. |
TotalPromotedSize3 |
win:UInt64 |
O número de bytes que sobreviveram no heap de objeto grande após a última coleção. |
FinalizationPromotedSize |
win:UInt64 |
O tamanho total, em bytes, dos objetos que estão prontos para finalização. |
FinalizationPromotedCount |
win:UInt64 |
O número de objetos que estão prontos para finalização. |
PinnedObjectCount |
win:UInt32 |
O número de objetos fixados (imóveis). |
SinkBlockCount |
win:UInt32 |
O número de blocos de sincronização em uso. |
GCHandleCount |
win:UInt32 |
O número de alças de coleta de lixo em uso. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
GenerationSize4 |
win:UInt64 |
O tamanho, em bytes, da pilha de objeto fixado. |
TotalPromotedSize4 |
win:UInt64 |
O número de bytes que sobreviveram na pilha de objeto fixado após a última coleção. |
GCCreateSegment_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCCreateSegment_V1 |
5 | Foi criado um novo segmento de recolha de lixo. Além disso, quando o rastreamento é habilitado em um processo que já está em execução, esse evento é gerado para cada segmento existente. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
Address |
win:UInt64 |
O endereço do segmento. |
Size |
win:UInt64 |
O tamanho do segmento. |
Type |
win:UInt32 |
0x0 - Pilha de objetos pequenos. 0x1 - Pilha de objetos grandes. 0x2 - Pilha somente leitura. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
Observe que o tamanho dos segmentos alocados pelo coletor de lixo é específico da implementação e está sujeito a alterações a qualquer momento, inclusive em atualizações periódicas. Seu aplicativo nunca deve fazer suposições sobre ou depender de um tamanho de segmento específico, nem deve tentar configurar a quantidade de memória disponível para alocações de segmento.
GCFreeSegment_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCFreeSegment_V1 |
6 | Um segmento de coleta de lixo foi liberado. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
Address |
win:UInt64 |
O endereço do segmento. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
GCRestartEEBegin_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCRestartEEBegin_V1 |
7 | A retomada da suspensão do common language runtime já começou. |
Este evento não tem quaisquer dados de evento.
GCRestartEEEnd_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCRestartEEEnd_V1 |
3 | A retomada da suspensão do Common Language Runtime terminou. |
Este evento não tem quaisquer dados de evento.
GCSuspendEEEnd_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCSuspendEEEnd_V1 |
8 | Fim da suspensão do motor de execução para recolha de lixo. |
Este evento não tem quaisquer dados de evento.
GCSuspendEEBegin_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCSuspendEEBegin_V1 |
9 | Início da suspensão do motor de execução para recolha de lixo. |
Nome do campo | Tipo de dados | Description |
---|---|---|
Count |
win:UInt32 |
A nésima coleta de lixo. |
Reason |
win:UInt32 |
Motivo da suspensão do EE.0x0 : Suspender para outros0x1 : Suspender para GC.0x2 : Suspender para o desligamento do AppDomain.0x3 : Suspender para pitching de código.0x4 : Suspender para desligamento.0x5 : Suspender para depurador.0x6 : Suspender para GC Prep.0x7 : Suspender para varredura do depurador |
GCAllocationTick_V3 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Verbose (5) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCAllocationTick_V3 |
10 | Cada vez que aproximadamente 100 KB são alocados. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
AllocationAmount |
win:UInt32 |
O tamanho da alocação, em bytes. Esse valor é preciso para alocações menores que o comprimento de um ULONG (4.294.967.295 bytes). Se a alocação for maior, este campo contém um valor truncado. Use AllocationAmount64 para alocações muito grandes. |
AllocationKind |
win:UInt32 |
0x0 - Alocação de objetos pequenos (a alocação é em pilha de objetos pequenos).0x1 - Alocação de objetos grandes (a alocação é em grande pilha de objetos). |
AllocationAmount64 |
win:UInt64 |
O tamanho da alocação, em bytes. Este valor é preciso para alocações muito grandes. |
TypeId |
win:Pointer |
O endereço do MethodTable. Quando há vários tipos de objetos que foram alocados durante esse evento, este é o endereço do MethodTable que corresponde ao último objeto alocado (o objeto que causou o limite de 100 KB a ser excedido). |
TypeName |
win:UnicodeString |
O nome do tipo que foi alocado. Quando há vários tipos de objetos que foram alocados durante esse evento, esse é o tipo do último objeto alocado (o objeto que fez com que o limite de 100 KB fosse excedido). |
HeapIndex |
win:UInt32 |
A pilha onde o objeto foi alocado. Esse valor é 0 (zero) ao executar com a coleta de lixo da estação de trabalho. |
Address |
win:Pointer |
O endereço do último objeto alocado. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
GCCreateConcurrentThread_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
ThreadingKeyword (0x10000) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCCreateConcurrentThread_V1 |
11 | Foi criado um thread de coleta de lixo simultâneo. |
Este evento não tem quaisquer dados de evento.
GCTerminateConcurrentThread_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
ThreadingKeyword (0x10000) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCTerminateConcurrentThread_V1 |
12 | O segmento de coleta de lixo simultâneo foi encerrado. |
Este evento não tem quaisquer dados de evento.
GCFinalizersBegin_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCFinalizersBegin_V1 |
14 | O início da execução dos finalizadores. |
Este evento não tem quaisquer dados de evento.
GCFinalizersEnd_V1 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCFinalizersEnd_V1 |
13 | O fim dos finalizadores em execução. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
Count |
win:UInt32 |
O número de finalizadores que foram executados. |
ClrInstanceID |
vitória:UInt16 | ID exclusivo para a instância de CLR ou CoreCLR. |
Evento SetGCHandle
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCHandleKeyword (0x2) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
SetGCHandle |
30 | Um identificador GC foi definido. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
HandleID |
win:Pointer |
O endereço do identificador alocado. |
ObjectID |
win:Pointer |
O endereço do objeto cujo identificador foi criado. |
Kind |
win:UInt32 |
O tipo de identificador GC que foi definido. 0x0 : WeakShort 0x1 : WeakLong 0x2 : Forte 0x3 : Fixo 0x4 : Variável0x5 : RefCount 0x6 : Dependente0x7 : AsyncPinned0x8 : SizedRef |
Generation |
win:UInt32 |
A geração do objeto cujo identificador foi criado. |
AppDomainID |
win:UInt64 |
O ID do AppDomain. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
Evento DestroyGCHandle
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCHandleKeyword (0x2) |
Informativo (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
DestroyGCHandle |
31 | Um identificador GC é destruído. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
HandleID |
win:Pointer |
O endereço da alça destruída. |
ClrInstanceID |
vitória:UInt16 | ID exclusivo para a instância do CoreCLR. |
Evento PinObjectAtGCTime
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Verbose (5) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
PinObjectAtGCTime |
33 | Um objeto foi fixado durante um GC. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
HandleID |
win:Pointer |
O endereço da alça. |
ObjectID |
win:Pointer |
O endereço do objeto fixado. |
ObjectSize |
win:UInt64 |
O tamanho do objeto fixado. |
TypeName |
win:UnicodeString |
O nome do tipo do objeto fixado. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
Evento GCTriggered
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Verbose (5) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCTriggered |
35 | Foi desencadeado um GC. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
Reason |
win:UInt32 |
A razão pela qual um GC foi acionado.0x0 : AllocSmall0x1 : Induzido 0x2 : LowMemory 0x3 : Vazio 0x4 : AllocLarge 0x5 : OutOfSpaceSmallObjectHeap 0x6 : OutOfSpaceLargeObjectHeap 0x7 :InducedNoForce 0x8 : Stress 0x9 : InducedLowMemory |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
Evento IncreaseMemoryPressure
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informação (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
IncreaseMemoryPressure |
200 | A pressão da memória foi aumentada. |
A tabela a seguir mostra os dados do evento:
Nome do Campo | Tipo de dados | Description |
---|---|---|
ClrInstanceID |
vitória:UInt16 | ID exclusivo para a instância do CoreCLR. |
Evento DecreaseMemoryPressure
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informação (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
DecreaseMemoryPressure |
201 | A pressão de memória foi diminuída. |
A tabela a seguir mostra os dados do evento:
Nome do Campo | Tipo de dados | Description |
---|---|---|
BytesFreed |
win:UInt32 |
Bytes liberados. |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |
Evento GCMarkWithType
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Informação (4) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCMarkWithType |
202 | Uma raiz GC foi marcada durante a fase de marcação GC. |
A tabela a seguir mostra os dados do evento:
Nome do Campo | Tipo de dados | Description |
---|---|---|
HeapNum |
win:UInt32 |
O número da pilha. |
ClrInstanceID |
vitória:UInt16 | ID exclusivo para a instância do CoreCLR. |
Type |
win:UInt32 |
O tipo de raiz GC.0x0 : Pilha0x1 : Finalizador0x2 : Punho0x3 : Mais antigos0x4 : SizedRef0x5 : Transbordamento |
Bytes |
win:UInt64 |
O número de bytes marcados. |
GCJoin_V2 evento
A tabela a seguir mostra a palavra-chave e o nível:
Palavra-chave para levantar o evento | Level |
---|---|
GCKeyword (0x1) |
Verbose (5) |
A tabela a seguir mostra as informações do evento:
Evento | ID do Evento | Levantado quando |
---|---|---|
GCJoin_V2 |
203 | Um thread GC se juntou. |
A tabela a seguir mostra os dados do evento:
Nome do campo | Tipo de dados | Description |
---|---|---|
Heap |
win:UInt32 |
O número da pilha |
JoinTime |
win:UInt32 |
Indica se esse evento é disparado no início ou no final de uma associação (0x0 para início de associação, 0x1 para fim de associação) |
JoinType |
win:UInt32 |
O tipo de junção. 0x0 : Última Adesão0x1 : Junte-se 0x2 : Reiniciar 0x3 : Primeira Junção Inversa0x4 : Junção reversa |
ClrInstanceID |
win:UInt16 |
ID exclusivo para a instância do CoreCLR. |