We have a product that currently runs on the 32-bit version 1.6 JRE. We use Berkeley DB, which consumes about 2.5 GB of RAM and 4 GB of address space. This leaves us with about 750 MB of memory for the JVM address space.
We are currently facing OutOfMemory issues with the current setup. It would be nice to increase the JVM heap size to 1.5 GB, while preserving the 2.5 GB Berkeley DB space. Is there a way to access more than 4 GB of RAM / heap in a 32-bit JVM? I consider the following solutions
1) use a JVM that is better than GC - it will give me marginal results - I could get working memory of 50-100 MB
2) something like memcached or "outside the ehcache process" - it can get me as much allows hardware with IPC / serialization overhead.
Are there other solutions to increase the address memory of the application?
The solution should work on Solaris 10 running sparc.
* UPDATE: due to the use of our own shared libraries, right now we cannot switch to the 64-bit JVM, even if the OS is 64-bit *
Thank you,
source
share