다음을 통해 공유


<gcServer> 요소

공용 언어 런타임에서 서버 가비지 수집을 실행할지 여부를 지정합니다.

<구성>
   <런타임>
     <gcServer>

문법

<gcServer
   enabled="true|false"/>

특성 및 요소

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

Attributes

특성 Description
enabled 필수 특성입니다.

런타임에서 서버 가비지 수집을 실행할지 여부를 지정합니다.

enabled 특성

가치 Description
false 서버 가비지 수집을 실행하지 않습니다. 기본값입니다.
true 서버 가비지 수집을 실행합니다.

자식 요소

없음.

부모 요소

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

비고

CLR(공용 언어 런타임)은 모든 시스템에서 사용할 수 있는 워크스테이션 가비지 수집과 다중 프로세서 시스템에서 사용할 수 있는 서버 가비지 수집이라는 두 가지 유형의 가비지 수집을 지원합니다. gcServer 요소를 사용하여 CLR이 수행하는 가비지 수집 유형을 제어합니다. 이 GCSettings.IsServerGC 속성을 사용하여 서버 가비지 수집을 사용할 수 있는지 확인합니다.

단일 프로세서 컴퓨터의 경우 기본 워크스테이션 가비지 수집이 가장 빠른 옵션이어야 합니다. 워크스테이션 또는 서버는 2개 프로세서 컴퓨터에 사용할 수 있습니다. 서버 가비지 수집은 두 개 이상의 프로세서에 대해 가장 빠른 옵션이어야 합니다. 가장 일반적으로 다중 프로세서 서버 시스템은 서버 GC를 사용하지 않도록 설정하고 서버 앱의 많은 인스턴스가 동일한 컴퓨터에서 실행되는 경우 대신 워크스테이션 GC를 사용합니다.

이 요소는 애플리케이션 구성 파일에서만 사용할 수 있습니다. 컴퓨터 구성 파일에 있는 경우 무시됩니다.

비고

.NET Framework 4 및 이전 버전에서는 서버 가비지 수집을 사용하는 경우 동시 가비지 수집을 사용할 수 없습니다. .NET Framework 4.5부터 서버 가비지 수집이 동시에 수행됩니다. 비동기 서버 가비지 수집을 사용하려면 요소를 />로 설정하고 gcConcurrent 요소를 .로 설정합니다.

.NET Framework 4.6.2부터 다음 요소를 사용하여 서버 GC를 구성할 수도 있습니다.

  • GCNoAffinitize- 서버 GC 힙과 프로세서 간에 선호도가 있는지 여부를 지정합니다. 기본적으로 각 프로세서에 대해 하나의 서버 GC 힙이 있습니다.

  • 프로세스에서 사용하는 힙 수를 제한하는 GCHeapCount입니다.

  • GCHeapAffinitizeMask는 사용 가능한 서버 GC 힙과 개별 프로세서 간의 선호도를 정의합니다.

예시

다음 예제에서는 서버 가비지 수집을 사용하도록 설정합니다.

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

참고하십시오