How do you get rid of the 1.2 GB Memory Limit Per Process in .NET?
This problem is described extensively (by Jeff) in the following topic:
Essentially, a single .NET executable written in C# (in my case) can only allocate about 1.1-1.2 GB of memory before throwing an Out of Memory exception. This is completely independent of how much actual memory a machine has. I tested it on a machine with 2GB Ram, and on a dual Xeon with 4GB Ram. Same results. In both cases an executable can only obtain 1.2 GB from the system before crashing.
The /3GB switch in boot.ini does nothing to alleviate or fix the problem. I should probably also point out that SEVERAL identical .NET processes together easily use up to 3.8 GB of RAM. It's just that any single .NET process is somehow capped at using only 1.2 GB.
Does anyone know what exactly is causing this problem?