The 3G limit is totally irrelevant to 64-bit OS. Just forget it. Youe real limit is 4G address space for a 32-bit process. You did not provide enough information if first place, but here are my conclusions:
You are really hitting the 4G limit. You just inaccurately estimated your maximum memory use as 3.5G. It could be just you major data, but the environment (WoW64) and your application take up some more. The fact is: 3.5G is way too close to the address space limit. Here is what you can do:
- Consider reviewing your application architecture. Many overuse memory due to architectural mistakes. Often, the application don't need as many objects loaded in memory at the same time. You can store some objects on disk, re-created some, and so on.
- Alternatively, switch to one or two of the 64-bit instruction-set architectures: x86-64, IE64 (Itanium), whatever you want to target.
- …Or combine both approaches.
Remember: there is no such thing as miracle. You certainly need to use one or another approach, not a magical system trick; you don't have any.
See also:
http://en.wikipedia.org/wiki/Instruction_set[
^],
http://en.wikipedia.org/wiki/WoW64[
^],
http://en.wikipedia.org/wiki/X86[
^],
http://en.wikipedia.org/wiki/X86-64[
^],
http://en.wikipedia.org/wiki/IA-64[
^],
http://en.wikipedia.org/wiki/Itanium[
^].
Good luck,
—SA