Share via


<gcServer> 요소

공용 언어 런타임이 서버 가비지 컬렉션을 실행하는지 여부를 지정합니다.

<구성>
  <runtime>
    <gcServer>

구문

<gcServer
   enabled="true|false"/>

특성 및 요소

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

특성

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

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

enabled 특성

Description
false 서버 가비지 컬렉션을 실행하지 않습니다. 기본값입니다.
true 서버 가비지 컬렉션을 실행합니다.

자식 요소

없음

부모 요소

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

설명

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

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

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

참고

.NET Framework 4 및 이전 버전에서, 서버 가비지 수집이 사용되는 경우에는 동시 가비지 수집을 사용할 수 없습니다. .NET Framework 4.5부터 서버 가비지 수집이 동시에 이루어집니다. 비동시 서버 가비지 컬렉션을 사용하려면 gcServer 요소를 true로 설정하고, gcConcurrent 요소false로 설정합니다.

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

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

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

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

예제

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

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

참고 항목