검색결과 리스트
.NET 4.5에 해당되는 글 1건
- 2013.11.21 [.NET] 서버용 백그라운드 GC - .NET 4.5
. NET4에서는 워크 스테이션 GC용으로 백그라운드 GC를 가능하게 했다. 그 이후 힙 사이즈의 상한이 몇 기가바이트에서 수십 기가바이트인 컴퓨터를 자주 보게 되었다.
NET Framework 팀이 소유한 최적화된 병렬 가베지컬렉터라도 이런 큰 힙은 컬렉션에 몇 초가 걸리고 그 동안 응용 프로그램 스레드를 차단한다. 서버용 백그라운드 GC에서는 서버의 가베지컬렉터에 동시 실행(병렬 실행) 가베지컬렉션의 지원을 도입하고 있다. 이에 따라 애플리케이션의 쓰루풋이 높은 상태를 유지하면서 장시간의 블록이 발생하는 가베지 컬렉션을 최소한으로 억제할 수 있다.
서버 GC를 사용하는 경우 서버의 백그라운드 GC가 자동적으로 시작되도록 이 새 기능을 사용하는데 필요한 것은 아무것도 없다. 클라이언트 GC 및 서버 GC라도 백그라운드 GC의 고도의 특성은 같으며 다음과 같은 특성이 있다.
l 완전 GC(세대 2)만을 백그라우드로 할 수 있다.
l 백그라운드 GC는 최적화를 실시하지 않는다.
l 포어 그라운드 GC(세대 0/세대 1의 GC)는 백그라운드 GC 안에서 할 수 있으며, 서버 GC는 전용 서버 GC 스레드에서 행해진다.
l 완전한 블로킹 GC도 전용의 서버 GC 스레드에서 행한다.
출처: http://msdn.microsoft.com/ko-kr/magazine/hh882452(en-us).aspx
댓글