<GCHeapAffinitizeMask> 요소
GC 힙과 개별 프로세서 간의 선호도를 정의합니다.
<구성>
<런타임>
<GCHeapAffinitizeMask>
구문
<GCHeapAffinitizeMask
enabled="nnnn"/>
특성 및 요소
다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
특성
특성 | 설명 |
---|---|
enabled |
필수 특성입니다. GC 힙과 개별 프로세서 간의 선호도를 지정합니다. |
enabled 특성
값 | Description |
---|---|
nnnn |
서버 GC 힙과 개별 프로세서 간의 선호도를 정의하는 비트마스크를 형성하는 10진수 값입니다. |
자식 요소
없음
부모 요소
요소 | Description |
---|---|
configuration |
공용 언어 런타임 및 .NET Framework 애플리케이션에서 사용하는 모든 구성 파일의 루트 요소입니다. |
runtime |
어셈블리 바인딩 및 가비지 컬렉션에 대한 정보를 포함합니다. |
설명
기본적으로 서버 GC 스레드는 각 프로세서에 대해 하나의 GC 힙, 하나의 서버 GC 스레드 및 하나의 백그라운드 서버 GC 스레드가 있도록 각각의 CPU와 고정적으로 연관됩니다. .NET Framework 4.6.2부터 힙 수가 GCHeapCount 요소로 제한되는 경우 GCHeapAffinitizeMask 요소를 사용하여 서버 GC 힙과 프로세서 간의 선호도를 제어할 수 있습니다.
GCHeapAffinitizeMask는 일반적으로 두 개의 다른 플래그와 함께 사용됩니다.
GCNoAffinitize는 서버 GC 스레드/힙이 CPU에서 선호도가 높은지 여부를 제어합니다. GCNoAffinitize 요소의
enabled
특징은 GCHeapAffinitizeMask 설정을 사용하려면false
(기본값)여야 합니다.GCHeapCount - 서버 GC에 대한 프로세스에서 사용하는 힙 수를 제한합니다. 기본적으로 각 프로세서에 대해 하나의 힙이 있습니다.
nnnn은 10진수 값으로 표현되는 비트 마스크입니다. 바이트 0의 비트 0은 프로세서 0을 나타내고, 바이트 0의 비트 1은 프로세서 1을 나타내는 식입니다. 예를 들면 다음과 같습니다.
<GCHeapAffinitizeMask enabled="1023"/>
값 1023은 0x3FF 또는 0011 1111 1111b입니다. 이 프로세스는 프로세서 0부터 프로세서 9까지 10개의 프로세서를 사용합니다.
예제
다음 예에서는 애플리케이션이 10개의 힙/스레드가 있는 서버 GC를 사용함을 나타냅니다. 이러한 힙이 시스템에서 실행 중인 다른 애플리케이션의 힙과 겹치는 것을 원하지 않으므로 GCHeapAffinitizeMask를 사용하여 프로세스가 CPU 0~9를 사용해야 함을 지정합니다.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>
참고 항목
.NET