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 상에서 메모리 사용을 효율적이고 효과적으로 사용할 수 있도록 개발할 수 있습니다.

+ Recent posts