Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As such, in many cases it is better to scale horizontally (running multiple JVMs) as opposed to using one giant JVM. This point is true for both 32-bit and 64-bit JVMs.

Just to be clear, you still should use a 64-bit Operating Systems. A 64-bit Operating System will allow a 32-bit JVM to come closer to the theoretical 4GB memory limit.

...

* Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limits will vary.

So I should never use 64-bit Java?

No, the point is to closely look at your application profile, user base and hardware and determine if you really do need to use a 64-bit JVM.

It has just been in our experience that often our profiles fall in,

  • Application profiles use less than 4GB of memory and if they used more we use multiple JVM instances
  • There is usually a 10%-15% hit in performance
  • Large customer base
  • Hardware with multiple CPUs handles multiple JVMs better

And let's not forget that if we want to switch to 64-bit it is simply a matter of recompiling.

Research

According to, Software - Practice & Experience archive Volume 36 Issue 1, January 2006,

...