...
As such, in many cases it is better to scale horizontally (running multiple JVMs) as opposed to using one giant JVM.
Just to be clear, this is not to say not to user 64-bit servers. In fact we are moving to use entirely 64-bit systems these days most importantly to take advantage of all the memory available (most of our servers use over 4 GB)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.
JVM | Operating System | Maximum Heap Size |
---|---|---|
32-bit | 32-bit Windows | 1.4GB to 1.6GB |
32-bit | 32-bit Solaris | 2GB |
32-bit | 64-bit Solaris | approaching 4GB |
32-bit | 64-bit Ubuntu |
|
* Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limits will vary.
Warning |
---|
More details explaining the mechanics can be put here or linked in another document. |