Бөлісу құралы:


<forcePerformanceCounterUniqueSharedMemoryReads> Элемент

Указывает, использует ли PerfCounter.dll параметр реестра CategoryOptions в приложении .NET Framework версии 1.1, чтобы определить, следует ли загружать данные счетчика производительности из общей памяти или глобальной памяти конкретной категории.

<configuration>
  <runtime>
    <forcePerformanceCounterUniqueSharedMemoryReads>

Синтаксис

<forcePerformanceCounterUniqueSharedMemoryReads
enabled="true|false"/>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Attributes

Свойство Description
enabled Обязательный атрибут.

Указывает, использует ли PerfCounter.dll параметр реестра CategoryOptions, чтобы определить, следует ли загружать данные счетчика производительности из общей памяти или глобальной памяти для конкретной категории.

Атрибут с поддержкой

Ценность Description
false PerfCounter.dll не использует параметр реестра CategoryOptions. Это значение по умолчанию.
true PerfCounter.dll использует параметр реестра CategoryOptions.

Дочерние элементы

Нет.

Родительские элементы

Элемент Description
configuration Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework.
runtime Содержит сведения о привязке сборки и сборке мусора.

Замечания

В версиях .NET Framework до .NET Framework 4 версия PerfCounter.dll, загруженная в среду выполнения, загруженная в процессе. Если на компьютере установлена платформа .NET Framework версии 1.1 и .NET Framework 2.0, приложение .NET Framework 1.1 загрузит версию .NET Framework 1.1 PerfCounter.dll. Начиная с .NET Framework 4, загружается последняя установленная версия PerfCounter.dll. Это означает, что приложение .NET Framework 1.1 загружает версию .NET Framework 4 PerfCounter.dll, если на компьютере установлена .NET Framework 4.

Начиная с .NET Framework 4 при использовании счетчиков производительности, PerfCounter.dll проверяет запись реестра CategoryOptions для каждого поставщика, чтобы определить, следует ли считывать из определенной категории общую память или глобальную общую память. PerfCounter.dll .NET Framework 1.1 не считывает эту запись реестра, так как она не знает о общей памяти конкретной категории; он всегда считывается из глобальной общей памяти.

Для обратной совместимости платформа .NET Framework 4 PerfCounter.dll не проверяет запись реестра CategoryOptions при запуске в приложении .NET Framework 1.1. Он просто использует глобальную общую память, как и PerfCounter.dll.NET Framework 1.1. Однако вы можете указать .NET Framework 4 PerfCounter.dll проверить параметр реестра, включив <forcePerformanceCounterUniqueSharedMemoryReads> элемент.

Замечание

<forcePerformanceCounterUniqueSharedMemoryReads> Включение элемента не гарантирует, что будет использоваться общая память для конкретной категории. Если параметр включен true , PerfCounter.dll ссылаться на параметр реестра CategoryOptions. Параметр по умолчанию для CategoryOptions — использовать общую память для конкретной категории; Однако можно изменить CategoryOptions, чтобы указать, что глобальная общая память должна использоваться.

Раздел реестра, содержащий параметр CategoryOptions, HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<categoryName>\Performance. По умолчанию Параметр CategoryOptions имеет значение 3, что указывает PerfCounter.dll использовать общую память для конкретной категории. Если параметр CategoryOptions имеет значение 0, PerfCounter.dll использует глобальную общую память. Данные экземпляра будут повторно использоваться только в том случае, если имя создаваемого экземпляра идентично повторному использованию экземпляра. Все версии смогут записывать в категорию. Если параметр CategoryOptions имеет значение 1, используется глобальная общая память, но данные экземпляра можно повторно использовать, если имя категории совпадает с используемой категорией.

Параметры 0 и 1 могут привести к утечкам памяти и заполнению памяти счетчика производительности.

Example

В следующем примере показано, как указать, что PerfCounter.dll должен ссылаться на запись реестра CategoryOptions, чтобы определить, следует ли использовать общую память для конкретной категории.

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

См. также