<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>
참고 항목
.NET