<Элемент forcePerformanceCounterUniqueSharedMemoryReads>
Указывает, использует ли файл PerfCounter.dll параметр реестра CategoryOptions в приложении .NET Framework версии 1.1, чтобы определить, следует ли загружать данные счетчиков производительности из общей памяти конкретной категории или глобальной памяти.
<Конфигурации>
<Среды выполнения>
<forcePerformanceCounterUniqueSharedMemoryReads>
Синтаксис
<forcePerformanceCounterUniqueSharedMemoryReads
enabled="true|false"/>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
enabled |
Обязательный атрибут. Указывает, использует ли PerfCounter.dll параметр реестра CategoryOptions, чтобы определить, следует ли загружать данные счетчиков производительности из общей памяти или глобальной памяти для конкретной категории. |
Атрибут enabled
Значение | Описание |
---|---|
false |
PerfCounter.dll не использует параметр реестра CategoryOptions Это значение по умолчанию. |
true |
PerfCounter.dll использует параметр реестра CategoryOptions. |
Дочерние элементы
Отсутствует.
Родительские элементы
Элемент | Описание |
---|---|
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 будет загружать версию PerfCounter.dll платформа .NET Framework 4, если на компьютере установлена платформа .NET Framework 4.
Начиная с платформа .NET Framework 4, при использовании счетчиков производительности PerfCounter.dll проверяет запись реестра CategoryOptions для каждого поставщика, чтобы определить, следует ли считывать данные из общей памяти для конкретной категории или глобальной общей памяти. Платформа .NET Framework 1.1 PerfCounter.dll не считывает эту запись реестра, так как не знает об общей памяти для конкретной категории; она всегда считывает данные из глобальной общей памяти.
Для обеспечения обратной совместимости PerfCounter.dll платформа .NET Framework 4 не проверка запись реестра CategoryOptions при запуске в приложении платформа .NET Framework 1.1. Он просто использует глобальную общую память, как и PerfCounter.dll платформа .NET Framework 1.1. Однако можно указать PerfCounter.dll платформа .NET Framework 4, чтобы проверка параметр реестра, включив <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 могут привести к утечке памяти и заполнению памяти счетчика производительности.
Пример
В следующем примере показано, как указать, что PerfCounter.dll должен ссылаться на запись реестра CategoryOptions, чтобы определить, следует ли использовать общую память для конкретной категории.
<configuration>
<runtime>
<forcePerformanceCounterUniqueSharedMemoryReads enabled="true"/>
</runtime>
</configuration>