Same happens for me. I have 32GBs of RAM Available, but I am using the 32bit version of Java because that is the only one that works with NVidia Optimus. If I try to allocate more than 2GBs of memory on 64 bit Java, it works, but I don't want to use 64bit version of Java because it uses the Integrated GPU. If I use the 32 bit version of Java, NVidia GPU starts up, and I'm stuck with the default 1GB of RAM allocated. Any more, and it says it cannot create a heap size big enough...
Yes, in the NVidia settings, I already specified 64bit version of Java to use the NVidia GPU, but it doesn't work. Only the 32 bit version of Java works... So why don't you contact NVidia and tell them to fix this problem? I don't have the correct contacts at NVidia so I always get some scripted customer support BS.
Wanna give me some contact information for NVidia then? 😃
It wasn't my choice to use 32bit Java in the first place. Why 32bit Java runs with the NVidia GPU while 64bit Java doesn't (even though I set it to do so in the settings), who knows.