<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>

참고 항목