<forcePerformanceCounterUniqueSharedMemoryReads-element>
Anger om PerfCounter.dll använder registerinställningen CategoryOptions i ett .NET Framework version 1.1-program för att avgöra om prestandaräknardata ska läsas in från kategorispecifikt delat minne eller globalt minne.
<Konfiguration>
<Runtime>
<forcePerformanceCounterUniqueSharedMemoryReads>
Syntax
<forcePerformanceCounterUniqueSharedMemoryReads
enabled="true|false"/>
Attribut och element
I följande avsnitt beskrivs attribut, underordnade element och överordnade element.
Attribut
Attribut | Beskrivning |
---|---|
enabled |
Obligatoriskt attribut. Anger om PerfCounter.dll använder registerinställningen CategoryOptions för att avgöra om prestandaräknardata ska läsas in från kategorispecifikt delat minne eller globalt minne. |
aktiverat attribut
Värde | Beskrivning |
---|---|
false |
PerfCounter.dll använder inte registerinställningen CategoryOptions Detta är standardinställningen. |
true |
PerfCounter.dll använder registerinställningen CategoryOptions. |
Underordnade element
Inga.
Överordnade element
Element | Beskrivning |
---|---|
configuration |
Rotelementet i varje konfigurationsfil som används av common language runtime och .NET Framework program. |
runtime |
Innehåller information om sammansättningsbindning och skräpinsamling. |
Kommentarer
I versioner av .NET Framework före .NET Framework 4 motsvarade den version av PerfCounter.dll som lästes in den körning som lästes in i processen. Om en dator hade både .NET Framework version 1.1 och .NET Framework 2.0 installerat skulle ett .NET Framework 1.1-program läsa in .NET Framework 1.1-versionen av PerfCounter.dll. Från och med .NET Framework 4 läses den senaste installerade versionen av PerfCounter.dll in. Det innebär att ett .NET Framework 1.1-program läser in .NET Framework 4-versionen av PerfCounter.dll om .NET Framework 4 är installerad på datorn.
Från och med .NET Framework 4 kontrollerar PerfCounter.dll registerposten CategoryOptions för varje provider för att avgöra om den ska läsa från kategorispecifikt delat minne eller globalt delat minne. .NET Framework 1.1-PerfCounter.dll läser inte registerposten eftersom den inte känner till kategorispecifikt delat minne. Den läser alltid från globalt delat minne.
För bakåtkompatibilitet kontrollerar .NET Framework 4 PerfCounter.dll inte registerposten CategoryOptions när den körs i ett .NET Framework 1.1-program. Den använder helt enkelt globalt delat minne, precis som .NET Framework 1.1-PerfCounter.dll. Du kan dock instruera .NET Framework 4 PerfCounter.dll att kontrollera registerinställningen genom att aktivera elementet<forcePerformanceCounterUniqueSharedMemoryReads>
.
Anteckning
Att aktivera elementet <forcePerformanceCounterUniqueSharedMemoryReads>
garanterar inte att kategorispecifikt delat minne används. Inställningen är aktiverad för att true
endast göra att PerfCounter.dll refererar till registerinställningen CategoryOptions. Standardinställningen för CategoryOptions är att använda kategorispecifikt delat minne. Du kan dock ändra CategoryOptions för att ange att globalt delat minne ska användas.
Registernyckeln som innehåller inställningen CategoryOptions är HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<categoryName>\Performance. Som standard är CategoryOptions inställt på 3, vilket instruerar PerfCounter.dll att använda kategorispecifikt delat minne. Om CategoryOptions är inställt på 0 använder PerfCounter.dll globalt delat minne. Instansdata återanvänds endast om namnet på den instans som skapas är identiskt med den instans som återanvänds. Alla versioner kommer att kunna skriva till kategorin. Om CategoryOptions är inställt på 1 används globalt delat minne, men instansdata kan återanvändas om kategorinamnet är lika långt som kategorin som återanvänds.
Inställningarna 0 och 1 kan leda till minnesläckor och fyllning av prestandaräknarens minne.
Exempel
I följande exempel visas hur du anger att PerfCounter.dll ska referera till registerposten CategoryOptions för att avgöra om den ska använda kategorispecifikt delat minne.
<configuration>
<runtime>
<forcePerformanceCounterUniqueSharedMemoryReads enabled="true"/>
</runtime>
</configuration>