C# : Out of Memory exception
3 years old topic, but I found another working solution.
If you're sure you have enough free memory, running 64 bit OS and still getting exceptions, go to Project properties
-> Build
tab and be sure to set x64
as a Platform target
.
Two points:
- If you are running a 32 bit Windows, you won't have all the 4GB accessible, only 2GB.
- Don't forget that the underlying implementation of
List
is an array. If your memory is heavily fragmented, there may not be enough contiguous space to allocate yourList
, even though in total you have plenty of free memory.
.Net4.5 does not have a 2GB limitation for objects any more. Add this lines to App.config
<runtime>
<gcAllowVeryLargeObjects enabled="true" />
</runtime>
and it will be possible to create very large objects without getting OutOfMemoryException
Please note it will work only on x64 OS's!