-Xgc:splitheap

(Windows™ 32-bit only)

By default, the VM uses a contiguous Java™ heap to store Java objects. However, on Windows 32-bit systems, there are restrictions in the 32-bit memory space that prevents a process accessing more than 2GB of memory, even if there is more memory available. To increase the maximum allocatable heap size, Eclipse OpenJ9™ can split the heap, allowing memory use up to the 4GB limit.

Restrictions:

Syntax

    -Xgc:splitheap

Explanation

Use -Xgc:splitheap for applications that must run on the 32-bit VM because of 32-bit JNI libraries, a 32-bit operating system, or 32-bit hardware, but need large Java heaps. By using a larger heap, you can allocate more objects before incurring a garbage collection (GC) and you can increase the number of live objects that you can use before an OutOfMemoryError exception occurs.

With a split heap, the old area is committed to its maximum size (set with -Xmox) in a lower region of memory and the new area is committed to its maximum size (set with -Xmnx) in a higher region of memory.

This option is not recommended if your application works in the any of the following ways: