다음을 통해 공유


<forcePerformanceCounterUniqueSharedMemoryReads> 요소

PerfCounter.dll이 .NET Framework 버전 1.1 애플리케이션에서 CategoryOptions 레지스트리 설정을 사용하여 성능 카운터 데이터를 범주별 공유 메모리에서 로드할지 또는 전역 메모리에서 로드할지를 결정하도록 지정합니다.

<configuration>
  <runtime>
    <forcePerformanceCounterUniqueSharedMemoryReads>

구문

<forcePerformanceCounterUniqueSharedMemoryReads
enabled="true|false"/>  

특성 및 요소

다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성 설명
enabled 필수 특성입니다.

PerfCounter.dll이 CategoryOptions 레지스트리 설정을 사용하여 성능 카운터 데이터를 범주별 공유 메모리에서 로드할지 또는 전역 메모리에서 로드할지 여부를 나타냅니다.

enabled 특성

Description
false PerfCounter.dll은 CategoryOptions 레지스트리 설정을 사용하지 않으며, 이는 기본값입니다.
true PerfCounter.dll은 CategoryOptions 레지스트리 설정을 사용합니다.

자식 요소

없음

부모 요소

요소 Description
configuration 공용 언어 런타임 및 .NET Framework 애플리케이션에서 사용하는 모든 구성 파일의 루트 요소입니다.
runtime 어셈블리 바인딩 및 가비지 컬렉션에 대한 정보를 포함합니다.

설명

.NET Framework 4 이전의 .NET Framework 버전에서 로드된 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 4가 컴퓨터에 설치된 경우 .NET Framework 1.1 애플리케이션이 .NET Framework 4 버전의 PerfCounter.dll을 로드합니다.

.NET Framework 4부터 성능 카운터를 사용할 때 PerfCounter.dll은 각 공급자에 대한 CategoryOptions 레지스트리 항목을 확인하여 범주별 공유 메모리 또는 전역 공유 메모리에서 읽어야 하는지 여부를 확인합니다. .NET Framework 1.1 PerfCounter.dll은 범주별 공유 메모리를 인식하지 못하므로 해당 레지스트리 항목을 읽지 않으며, 항상 전역 공유 메모리에서 읽습니다.

이전 버전과의 호환성을 위해 .NET Framework 4 PerfCounter.dll은 .NET Framework 1.1 애플리케이션에서 실행할 때 CategoryOptions 레지스트리 항목을 확인하지 않습니다. .NET Framework 1.1 PerfCounter.dll과 마찬가지로 전역 공유 메모리를 사용하기만 하면 됩니다. 그러나 <forcePerformanceCounterUniqueSharedMemoryReads> 요소를 사용하도록 설정하여 레지스트리 설정을 확인하도록 .NET Framework 4 PerfCounter.dll에 지시할 수 있습니다.

참고

<forcePerformanceCounterUniqueSharedMemoryReads> 요소를 사용하도록 설정해도 범주별 공유 메모리가 사용된다는 보장은 없습니다. 설정을 true로 사용하도록 설정하면 PerfCounter.dll이 CategoryOptions 레지스트리 설정을 참조하게 됩니다. CategoryOptions의 기본 설정은 범주별 공유 메모리를 사용하는 것입니다. 그러나 CategoryOptions를 변경하여 전역 공유 메모리를 사용해야 함을 나타낼 수 있습니다.

CategoryOptions 설정을 포함하는 레지스트리 키는 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<categoryName>\Performance입니다. 기본적으로 CategoryOptions는 범주별 공유 메모리를 사용하도록 PerfCounter.dll에 지시하는 3으로 설정됩니다. CategoryOptions가 0으로 설정된 경우 PerfCounter.dll은 전역 공유 메모리를 사용합니다. 인스턴스 데이터는 생성되는 인스턴스의 이름이 다시 사용 중인 인스턴스와 동일한 경우에만 다시 사용됩니다. 모든 버전은 범주에 쓸 수 있습니다. CategoryOptions를 1로 설정하면 전역 공유 메모리가 사용되지만 범주 이름이 다시 사용되는 범주와 길이가 같은 경우 인스턴스 데이터를 다시 사용할 수 있습니다.

설정 0과 1은 메모리 누수 및 성능 카운터 메모리 채우기로 이어질 수 있습니다.

예제

다음 예제에서는 범주별 공유 메모리를 사용해야 하는지 여부를 결정하기 위해 PerfCounter.dll이 CategoryOptions 레지스트리 항목을 참조하도록 지정하는 방법을 보여 줍니다.

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

참고 항목