x64 운영체제에서 어플리케이션을 개발하다가 보면 OOM(OutOfMemory)이 발생하지 않을것으로 예상했었는데 실질적으로는 발생 하는 케이스가 있었습니다.
실예로 대용량으로 DataSet들을 미들티어단에서 모아서 리턴해주는 Broker 기능을 하는 프로세스에서 발생을 하였습니다. ( 여러 서비스에서 리턴된 DataSet이 한곳에 모여져서 관리가 되다 보니 하나의 객체가 2Gb가 넘는 순간이 간혹 발생을 하여 한동안 골머리를 앓고 있었죠)
이와 같은 문제점을 .Net 4.5에서는 쉽게 해결할 수 있게 되었습니다. 바로 런타임 설정 파일에 적용하면 하나 객체가 2Gb이상 관리할 수 있게 할 수 있습니다.
http://msdn.microsoft.com/ko-kr/library/hh285054.aspx
<configuration>
<runtime> <gcAllowVeryLargeObjects enabled="true" /> </runtime> </configuration>
위와 같이 설정하여 64bit 상에서 메모리 사용을 효율적이고 효과적으로 사용할 수 있도록 개발할 수 있습니다.
'.Net Framework' 카테고리의 다른 글
[C# Rx] Reactive Programming (0) | 2013.02.18 |
---|---|
[C# Async] Asynchronous Programming Patterns - Async #1 (0) | 2013.02.18 |
[Roslyn]The Roslyn Project (0) | 2013.02.18 |
[C# Compress] DataSet 압축 및 해제(DeflateStream 이용) (0) | 2013.02.15 |
[C# Compress] MemoryStream Compress (0) | 2013.02.15 |