<GCHeapAffinitizeMask > 요소<GCHeapAffinitizeMask> element

GC 힙과 개별 프로세서 간의 선호도를 정의 합니다.Defines the affinity between GC heaps and individual processors.

<구성 > <configuration>
  <런타임 >   <runtime>
    <GCHeapAffinitizeMask >    <GCHeapAffinitizeMask>

구문Syntax

<GCHeapAffinitizeMask
   enabled="nnnn"/>

특성 및 요소Attributes and elements

다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.The following sections describe attributes, child elements, and parent elements.

특성Attributes

특성Attribute 설명Description
enabled 필수 특성입니다.Required attribute.

GC 힙과 개별 프로세서 간의 선호도를 지정 합니다.Specifies the affinity between GC heaps and individual processors.

enabled 특성enabled attribute

Value 설명Description
nnnn 서버 GC 힙과 개별 프로세서 간의 선호도를 정의 하는 비트 마스크를 형성 하는 10 진수 값입니다.A decimal value that forms a bitmask defining the affinity between server GC heaps and individual processors.

자식 요소Child elements

없음.None.

부모 요소Parent elements

요소Element 설명Description
configuration 공용 언어 런타임 및 .NET Framework 애플리케이션에서 사용하는 모든 구성 파일의 루트 요소입니다.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime 어셈블리 바인딩 및 가비지 컬렉션에 대한 정보를 포함합니다.Contains information about assembly binding and garbage collection.

주의Remarks

기본적으로 서버 GC 스레드는 각 프로세서에 대해 하나의 GC 힙, 하나의 서버 GC 스레드 및 하나의 백그라운드 서버 GC 스레드를 갖도록 해당 CPU와 하드 선호도가 설정 됩니다.By default, server GC threads are hard-affinitized with their respective CPU so that there is one GC heap, one server GC thread, and one background server GC thread for each processor. .NET Framework 4.6.2 부터는 GCHeapAffinitizeMask 요소를 사용 하 여 힙 수가 GCHeapCount 요소에 의해 제한 되는 경우 서버 GC 힙과 프로세서 간의 선호도를 제어할 수 있습니다.Starting with .NET Framework 4.6.2, you can use the GCHeapAffinitizeMask element to control the affinity between server GC heaps and processors when the number of heaps is limited by the GCHeapCount element.

GCHeapAffinitizeMask 는 일반적으로 두 개의 다른 플래그와 함께 사용 됩니다.GCHeapAffinitizeMask is typically used along with two other flags:

  • GCNoAffinitize-서버 GC 스레드/힙이 cpu와 선호도가 설정 여부를 제어 합니다.GCNoAffinitize, which controls whether server GC threads/heaps are affinitized with CPUs. GCNoAffinitize 요소의 enabled 특성은 사용할 GCHeapAffinitizeMask 설정에 대 한 false (기본값) 여야 합니다.The enabled attribute of the GCNoAffinitize element must be false (its default value) for the GCHeapAffinitizeMask setting to be used.

  • GCHeapCount-서버 GC에 대해 프로세스에서 사용 하는 힙 수를 제한 합니다.GCHeapCount, which limits the number of heaps used by the process for server GC. 기본적으로 각 프로세서에 대해 하나의 힙이 있습니다.By default, there is one heap for each processor.

nnnn 은 10 진수 값으로 표현 되는 비트 마스크입니다.nnnn is a bit mask expressed as a decimal value. 바이트 0의 비트 0은 프로세서 0, 바이트 0의 비트 1은 프로세서 1을 나타냅니다.Bit 0 of byte 0 represents processor 0, bit 1 of byte 0 represents processor 1, and so on. 예를 들어 다음과 같은 가치를 제공해야 합니다.For example:

<GCHeapAffinitizeMask enabled="1023"/>

1023 값은 0x3FF 또는 0011 1111 1111b입니다.A value of 1023 is 0x3FF or 0011 1111 1111b. 프로세스는 프로세서 0부터 프로세서 9까지 10 개의 프로세서를 사용 합니다.The process uses 10 processors, from processor 0 through processor 9.

예제Example

다음 예는 응용 프로그램에서 서버 GC를 사용 하 고 힙/스레드를 10 개 사용 함을 나타냅니다.The following example indicates that an application uses server GC with 10 heaps/threads. 이러한 힙이 시스템에서 실행 되는 다른 응용 프로그램의 힙과 겹치지 않도록 하기 때문에 GCHeapAffinitizeMask 를 사용 하 여 프로세스에서 cpu 0 ~ 9를 사용 하도록 지정 합니다.Since you don't want those heaps to overlap with heaps from other applications running on the system, use GCHeapAffinitizeMask to specify that the process should use CPUs 0 through 9.

<configuration>
   <runtime>
      <gcServer enabled="true"/>
      <GCHeapCount enabled="10"/>
      <GCHeapAffinitizeMask enabled="1023"/>
   </runtime>
</configuration>

참조See also