Search code examples
javajvmjvm-arguments

Increasing the JVM maximum heap size for memory intensive applications


I need to run a Java memory intensive application that uses more than 2GB, but I am having problems to increase the heap maximum size. So far, I have tried the following approaches:

  • Setting the -Xmx parameter, e.g. -Xmx3000m. This approaches fails at the creation of the JVM. From what I've googled, it looks like that -Xmx must be less than 2GB.

  • Using the -XX:+AggressiveHeap option. When I try this approach I get an 'Not enough memory' error that tells that the heap size is 1273.4 MB, even though my computer has 8GB of memory.

Is there another approach that I can try to increase the maximum heap size of the JVM? Here's a summary of the computer specs:

  • OS: Windows 7 (64 bit)
  • Processor: Intel Core i7 (2.66 GHz)
  • Memory: 8 GB
  • java -version:
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)

Solution

  • Get yourself a 64-bit JVM from Oracle.