Contadores de desempenho de memória

O console de desempenho.Categoria de memória do CLR NET inclui contadores que fornecem informações sobre o coletor de lixo. A tabela a seguir descreve esses contadores de desempenho.

Contador de desempenho

Descrição

# Bytes in all Heaps

Exibe a soma da Tamanho do Heap Gen 1, Tamanho do Heap Gen 2e o Tamanho do Heap de objeto grande contadores. Esse contador indica a memória atual alocada em bytes na coleta de lixo heaps.

# Alças de GC

Exibe o número atual de identificadores de coleta de lixo em uso. Alças de coleta de lixo são identificadores de recursos externos para o common language runtime e o ambiente gerenciado.

Coletas de Ger 0

Exibe o número de vezes que os objetos da geração 0 (ou seja, mais a novos, mais recentemente a objetos alocados) são lixo coletado, desde que o aplicativo foi iniciado.

Coleta de geração 0 lixo ocorre quando a memória disponível na geração 0 não é suficiente para satisfazer uma solicitação de alocação. Esse contador é incrementado no final de uma coleta de lixo 0 de geração. Coletas de lixo de geração superiores incluem todas as coleções de geração inferiores. Esse contador é incrementado explicitamente quando ocorre uma coleta de lixo de geração (geração 1 ou 2) mais alta.

Esse contador exibe o último valor observado. O _ Global _ o valor de contador não é preciso e deve ser ignorado.

Coletas de Ger 1

Exibe o número de vezes que os objetos da geração 1 são lixo coletado, desde que o aplicativo foi iniciado.

O contador é incrementado no final de uma coleta de lixo 1 de geração. Coletas de lixo de geração superiores incluem todas as coleções de geração inferiores. Esse contador é incrementado explicitamente quando ocorre uma coleta de lixo de geração (geração 2) mais alta.

Esse contador exibe o último valor observado. O _ Global _ o valor de contador não é preciso e deve ser ignorado.

# Coletas de Ger 2

Exibe o número de vezes que objetos da geração 2 são lixo coletado, desde que o aplicativo foi iniciado. O contador é incrementado no final de uma geração coleta de lixo 2 (também chamado de coleta de lixo completa).

Esse contador exibe o último valor observado. O _ Global _ o valor de contador não é preciso e deve ser ignorado.

# Induzida pelo GC

Exibe o número máximo de vezes de coleta de lixo foi executada devido uma chamada explícita para GC.Collect. É recomendável deixar que o coletor de lixo ajustar a freqüência de suas coleções.

n º de objetos afixados

Exibe o número de objetos fixados encontrados na última coleta de lixo. Um objeto afixado é aquele que o coletor de lixo não é possível mover na memória. Esse contador acompanha os objetos afixados apenas nas pilhas que são coletados pelo lixo. Por exemplo, uma coleta de lixo da geração 0 faz com que a enumeração de objetos afixados apenas na pilha de geração 0.

n º de blocos de sincronização em uso

Exibe o número atual de blocos de sincronização em uso. Os blocos de sincronização são alocadas para armazenar informações de sincronização de estruturas de dados por objeto. Blocos de sincronização mantêm referências fracas a objetos gerenciados e devem ser examinadas pelo coletor de lixo. Blocos de sincronização não estão limitados ao armazenamento de informações de sincronização; Eles também podem armazenar metadados de interoperabilidade COM. Este contador indica problemas de desempenho com uso intenso de primitivos de sincronização.

N º total de Bytes confirmados

Exibe a quantidade de memória virtual, em bytes, confirmadas atualmente pelo garbage collector. Memória confirmada é a memória física para o qual foi reservado espaço no arquivo de paginação de disco.

N º total de Bytes reservados

Exibe a quantidade de memória virtual. em bytes, atualmente reservados pelo coletor de lixo. Memória reservada é o espaço de memória virtual reservado para o aplicativo, mas sem disco ou páginas de memória principal foi usadas.

% De tempo no GC

Exibe a porcentagem de tempo decorrido que foi gasto executando uma coleta de lixo desde o último ciclo de coleta de lixo. Esse contador geralmente indica o trabalho feito pelo coletor de lixo para coletar e compacto de memória no nome do aplicativo. Esse contador é atualizado apenas no final de cada coleta de lixo. Esse contador não é uma média; seu valor reflete o último valor observado.

Alocado Bytes/segundo

Exibe o número de bytes por segundo alocada na pilha de coleta de lixo. Esse contador é atualizado no final de cada coleta de lixo, e não em cada alocação. Esse contador não é uma média ao longo do tempo; ele exibe a diferença entre os valores observados nos dois últimos exemplos divididos pela duração do intervalo de amostragem.

Sobreviventes da finalização

Exibe o número de objetos do coletor de lixo que sobrevivem a uma coleta porque estão aguardando a finalização. Se esses objetos mantiverem referências a outros objetos, esses objetos também sobreviverão, mas não são contados por esse contador. O Promoted Finalization-Memory da Ger 0 e Promoted Finalization-Memory from Gen 1 contadores representam toda a memória que sobreviveu devido à finalização.

Esse contador não é cumulativo. ele é atualizado no final de cada coleta de lixo com a contagem de sobreviventes durante essa determinada coleção. Este contador indica a sobrecarga extra, o aplicativo poderá experimentar devido à finalização.

Tamanho do heap de Gen 0

Exibe o máximo de bytes que pode ser alocado na geração 0; ele não indica o número atual de bytes alocados na geração 0.

Uma coleta de lixo da geração 0 ocorre quando as alocações desde a última coleta excedem esse tamanho. O tamanho da geração 0 é ajustado pelo garbage collector e pode ser alterado durante a execução do aplicativo. No final de uma coleção de geração 0 o tamanho da geração 0 heap é 0 bytes. Esse contador exibe o tamanho em bytes, de alocações que invoca o próximo geração 0 lixo.

Esse contador é atualizado no final de uma coleta de lixo, e não em cada alocação.

Promovidos da Ger 0 Bytes/S

Exibe os bytes por segundo que são promovidos da geração 0 para a geração 1. A memória é promovida quando sobrevive a uma coleta de lixo. Esse contador é um indicador de objetos de vida relativamente longa sendo criados por segundo.

Esse contador exibe a diferença entre os valores observados nos dois últimos exemplos divididos pela duração do intervalo de amostragem.

Tamanho de pilha 1 de Ger.

Exibe o número atual de bytes na geração 1; Esse contador não exibe o tamanho máximo da geração 1. Objetos não são diretamente alocados nessa geração; eles são promovidos de coletas de lixo 0 da geração anterior. Esse contador é atualizado no final de uma coleta de lixo, e não em cada alocação.

Bytes de s promovidos da Ger 1

Exibe os bytes por segundo que são promovidos da geração 1 geração 2. Os objetos que são promovidos apenas porque estão aguardando a finalização não são incluídos nesse contador.

A memória é promovida quando sobrevive a uma coleta de lixo. Nada é promovido da geração 2 porque é a geração mais antiga. Esse contador é um indicador de objetos longa, criados por segundo.

Esse contador exibe a diferença entre os valores observados nos dois últimos exemplos divididos pela duração do intervalo de amostragem.

Tamanho do heap de Gen 2

Exibe o número atual de bytes na geração 2. Objetos não são diretamente alocados nessa geração; eles são promovidos da geração 1 durante a coleções de 1 de lixo da geração anterior. Esse contador é atualizado no final de uma coleta de lixo, e não em cada alocação.

Tamanho de Heap de objeto grande

Exibe o tamanho atual, em bytes, da pilha de objetos grandes. Objetos maiores que 20 KB são tratados como objetos grandes pelo garbage collector e são diretamente alocados em uma pilha especial; eles não são promovidos pelas gerações. Esse contador é atualizado no final de uma coleta de lixo, e não em cada alocação.

Finalização Promovida-Memória da Ger 0

Exibe os bytes de memória que são promovidos da geração 0 para a geração 1 apenas porque estão aguardando a finalização. Esse contador não é cumulativo. ele exibe o valor observado no final da última coleta de lixo.

Finalização Promovida-Memória da Ger 1

Exibe os bytes de memória que são promovidos da geração 1 geração 2 apenas porque estão aguardando a finalização. Esse contador não é cumulativo. ele exibe o valor observado no final da última coleta de lixo. Esse contador é redefinido como 0 se a última coleta de lixo foi apenas uma coleção de geração 0.

Memória promovida da Ger 0

Exibe os bytes de memória que sobrevivem a coleta de lixo e são promovidos da geração 0 para a geração 1. Os objetos que são promovidos apenas porque estão aguardando a finalização não são incluídos nesse contador. Esse contador não é cumulativo. ele exibe o valor observado no final da última coleta de lixo.

Memória promovida da Ger 1

Exibe os bytes de memória que sobrevivem a coleta de lixo e são promovidos da geração 1 geração 2. Os objetos que são promovidos apenas porque estão aguardando a finalização não são incluídos nesse contador. Esse contador não é cumulativo. ele exibe o valor observado no final da última coleta de lixo. Esse contador é redefinido como 0 se a última coleta de lixo foi apenas uma coleção de geração 0.

Consulte também

Referência

Perfil Runtime

Conceitos

Gerenciamento automático de memória

Outros recursos

Contadores de desempenho na.NET Framework