There is a slight memory benefit to using a 32-bit JDK when using smaller heaps, mainly because the references are 32-bit and not 64-bit. But if I recall correctly, there is an option you can use on a 64-bit JDK to get it to use 32-bit references (and consequently also restrict the size of the heap you can get), though that option is probably only relevant for the Oracle JDK and not OpenJDK (you could check the sources and see, grep the sources for an existing -XX option - you should get one hit, and all of the options are in that same source file). Personally, I wouldn't attempt the hassle with running a 32-bit OpenJDK on Linux, I'd just go with the 64-bit.