Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Especifica se PerfCounter.dll utiliza a definição do registo CategoryOptions numa aplicação .NET Framework versão 1.1 para determinar se deve carregar dados do contador de desempenho a partir da memória partilhada específica da categoria ou da memória global.
<configuração>
<tempo de execução>
<forcePerformanceCounterUniqueSharedMemoryReads>
Sintaxe
<forcePerformanceCounterUniqueSharedMemoryReads
enabled="true|false"/>
Atributos e Elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Attributes
| Attribute | Description |
|---|---|
enabled |
Atributo obrigatório. Indica se PerfCounter.dll utiliza a definição do registo CategoryOptions para determinar se deve carregar dados do contador de desempenho a partir da memória partilhada específica da categoria ou da memória global. |
Atributo ativado
| Valor | Description |
|---|---|
false |
PerfCounter.dll não usa a definição de registo CategoryOptions. Esta é a configuração predefinida. |
true |
PerfCounter.dll usa a definição do registo CategoryOptions. |
Elementos Subordinados
Nenhum.
Elementos Principais
| Elemento | Description |
|---|---|
configuration |
O elemento raiz em cada arquivo de configuração usado pelo Common Language Runtime e aplicativos .NET Framework. |
runtime |
Contém informações sobre encadernação de montagem e recolha de lixo. |
Observações
Nas versões do .NET Framework anteriores ao .NET Framework 4, a versão de PerfCounter.dll carregada correspondia ao tempo de execução carregado no processo. Se um computador tivesse tanto o .NET Framework versão 1.1 como o .NET Framework 2.0 instalados, uma aplicação .NET Framework 1.1 carregaria a versão .NET Framework 1.1 do PerfCounter.dll. A partir do .NET Framework 4, a versão mais recente instalada do PerfCounter.dll é carregada. Isto significa que uma aplicação .NET Framework 1.1 carregará a versão .NET Framework 4 de PerfCounter.dll se o .NET Framework 4 estiver instalado no computador.
A partir do .NET Framework 4, ao consumir contadores de desempenho, PerfCounter.dll verifica a entrada do registo CategoryOptions para cada fornecedor para determinar se deve ler da memória partilhada específica da categoria ou da memória partilhada global. O .NET Framework 1.1 PerfCounter.dll não lê essa entrada do registo, porque não tem conhecimento da memória partilhada específica de cada categoria; Lê sempre a partir da memória partilhada global.
Para compatibilidade retroativa, o .NET Framework 4 PerfCounter.dll não verifica a entrada do registo CategoryOptions quando executado numa aplicação .NET Framework 1.1. Simplesmente utiliza memória partilhada global, tal como o .NET Framework 1.1 PerfCounter.dll. No entanto, pode instruir o PerfCounter.dll do .NET Framework 4 a verificar a definição do registo ativando o <forcePerformanceCounterUniqueSharedMemoryReads> elemento.
Observação
Ativar o <forcePerformanceCounterUniqueSharedMemoryReads> elemento não garante que a memória partilhada específica de uma categoria será utilizada. A configuração ativada true só faz com que PerfCounter.dll faça referência à definição do registo CategoryOptions. A definição padrão para o CategoryOptions é usar memória partilhada específica de cada categoria; no entanto, pode alterar o CategoryOptions para indicar que a memória partilhada global deve ser utilizada.
A chave do registo que contém a definição CategoryOptions é HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<categoryName>\Performance. Por defeito, o CategoryOptions está definido como 3, o que instrui PerfCounter.dll a usar memória partilhada específica de cada categoria. Se o CategoryOptions estiver definido para 0, PerfCounter.dll utiliza memória partilhada global. Os dados da instância serão reutilizados apenas se o nome da instância criada for idêntico ao da instância a ser reutilizada. Todas as versões poderão escrever para a categoria. Se o CategoryOptions estiver definido como 1, é usada memória partilhada global, mas os dados da instância podem ser reutilizados se o nome da categoria tiver o mesmo comprimento da categoria a ser reutilizada.
As definições 0 e 1 podem levar a fugas de memória e ao enchimento da memória do contador de desempenho.
Example
O exemplo seguinte mostra como especificar que PerfCounter.dll deve referenciar a entrada do registo CategoryOptions para determinar se deve usar memória partilhada específica de cada categoria.
<configuration>
<runtime>
<forcePerformanceCounterUniqueSharedMemoryReads enabled="true"/>
</runtime>
</configuration>