<forcePerformanceCounterUniqueSharedMemoryReads>-Element

Gibt an, ob „PerfCounter.dll“ die Registrierungseinstellung „CategoryOptions“ in einer .NET Framework Version 1.1-Anwendung verwendet, um zu bestimmen, ob Leistungsindikatordaten aus kategoriespezifischem, gemeinsam genutztem Arbeitsspeicher oder aus dem globalen Arbeitsspeicher geladen werden.

<configuration>
  <runtime>
    <forcePerformanceCounterUniqueSharedMemoryReads>

Syntax

<forcePerformanceCounterUniqueSharedMemoryReads
enabled="true|false"/>  

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

attribute Beschreibung
enabled Erforderliches Attribut.

Zeigt an, ob „PerfCounter.dll“ die Registrierungseinstellung „CategoryOptions“ verwendet, um zu bestimmen, ob Leistungsindikatordaten aus dem kategoriespezifischen gemeinsam genutztem Arbeitsspeicher oder aus dem globalen Arbeitsspeicher geladen werden.

Enabled-Attribut

Wert Beschreibung
false „PerfCounter.dll“ verwendet die Registrierungseinstellung „CategoryOptions“ nicht. Dies ist die Standardeinstellung.
true „PerfCounter.dll“ verwendet die Registrierungseinstellung „CategoryOptions“.

Untergeordnete Elemente

Keine

Übergeordnete Elemente

Element BESCHREIBUNG
configuration Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei.
runtime Enthält Informationen über die Assemblybindung und die Garbage Collection.

Bemerkungen

In Versionen von .NET Framework vor .NET Framework 4 entsprach die Version von „PerfCounter.dll“, die geladen wurde, der Runtime, die im Prozess geladen wurde. Wenn auf einem Computer sowohl .NET Framework, Version 1.1, als auch .NET Framework 2.0 installiert war, würde eine .NET Framework 1.1-Anwendung die .NET Framework 1.1-Version von „PerfCounter.dll“ laden. Ab .NET Framework 4 wird die neueste installierte Version von „PerfCounter.dll“ geladen. Dies bedeutet, dass eine .NET Framework 1.1-Anwendung die .NET Framework 4-Version von „PerfCounter.dll“ lädt, wenn .NET Framework 4 auf dem Computer installiert ist.

Ab .NET Framework 4 überprüft „PerfCounter.dll“ beim Verbrauch von Leistungsindikatoren den Registrierungseintrag „CategoryOptions“ für jeden Anbieter, um zu ermitteln, ob aus dem kategoriespezifischen gemeinsam genutzten Arbeitsspeicher oder aus dem globalen gemeinsam genutzten Arbeitsspeicher gelesen werden soll. Die „PerfCounter.dll“ von .NET Framework 1.1 liest diesen Registrierungseintrag nicht, da sie den kategoriespezifischen gemeinsam genutzten Arbeitsspeicher nicht kennt. Sie liest immer aus dem globalen gemeinsam genutzten Arbeitsspeicher.

Aus Gründen der Abwärtskompatibilität überprüft die „PerfCounter.dll“ von .NET Framework 4 nicht den Registrierungseintrag „CategoryOptions“, wenn sie in einer .NET Framework 1.1-Anwendung ausgeführt wird. Sie verwendet einfach den global gemeinsam genutzten Arbeitsspeicher, genau wie die „PerfCounter.dll“ von .NET Framework 1.1. Sie können jedoch die „PerfCounter.dll“ von .NET Framework 4 anweisen, die Registrierungseinstellung zu überprüfen, indem Sie das <forcePerformanceCounterUniqueSharedMemoryReads>-Element aktivieren.

Hinweis

Das Aktivieren des <forcePerformanceCounterUniqueSharedMemoryReads>-Elements garantiert nicht, dass kategoriespezifischer gemeinsam genutzter Arbeitsspeicher verwendet wird. Wenn „Aktiviert“ auf true festgelegt wird, führt dies lediglich dazu, dass „PerfCounter.dll“ auf die Registrierungseinstellung „CategoryOptions“ verweist. Die Standardeinstellung für „CategoryOptions“ besteht darin, kategoriespezifischen gemeinsam genutzten Arbeitsspeicher zu verwenden. Sie können jedoch „CategoryOptions“ ändern, um anzugeben, dass globaler gemeinsam genutzter Arbeitsspeicher verwendet werden soll.

Der Registrierungsschlüssel, der die Einstellung „CategoryOptions“ enthält, ist „HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<categoryName>\Performance“. „CategoryOptions“ ist standardmäßig auf 3 festgelegt, was „PerfCounter.dll“ anweist, kategoriespezifischen gemeinsam genutzten Arbeitsspeicher zu verwenden. Wenn „CategoryOptions“ auf 0 festgelegt ist, verwendet „PerfCounter.dll“ global gemeinsam genutzten Arbeitsspeicher. Instanzdaten werden nur wiederverwendet, wenn der Name der Instanz, die erstellt wird, mit der Instanz identisch ist, die wiederverwendet wird. Alle Versionen können in die Kategorie schreiben. Wenn „CategoryOptions“ auf 1 festgelegt ist, wird globaler gemeinsam genutzter Arbeitsspeicher verwendet, aber Instanzdaten können wiederverwendet werden, wenn der Kategoriename dieselbe Länge wie die wiederverwendete Kategorie aufweist.

Die Einstellungen 0 und 1 können zu Arbeitsspeicherverlusten und dem Auffüllen des Leistungsindikatorspeichers führen.

Beispiel

Im folgenden Beispiel wird gezeigt, wie angegeben wird, dass „PerfCounter.dll“ auf den Registrierungseintrag „CategoryOptions“ verweisen soll, um zu ermitteln, ob sie kategoriespezifischen gemeinsam genutzten Arbeitsspeicher verwenden soll.

<configuration>  
  <runtime>  
    <forcePerformanceCounterUniqueSharedMemoryReads enabled="true"/>  
  </runtime>  
</configuration>  

Siehe auch