IBM User Guide for Java V7 on Windows > IBM SDK for Java > The collector and the allocator > Generational Concurrent Garbage Collector
Split heap
A split heap allocates the new and old areas of the generational Java™ heap in separate areas of memory. A split heap forces the Garbage Collector to use the gencon policy and disables resizing of the new and old memory areas. Use the -Xgc:splitheap command-line option to enable the split heap. This option is available on the Windows 32-bit JVM only.
A break in the Windows address space limits the Java heap to less than 2 GiB. Use a split heap to allow the Java heap to exist on both sides of the break in address space. You might be able to allocate a larger heap compared with the use of one contiguous area of memory. By using a larger heap, you can allocate more objects before incurring a garbage collection and you can increase the number of live objects that you can use before an OutOfMemoryError exception occurs.
Restriction: A Windows 32-bit process is limited to a 2 GiB address space unless the /3GB option is specified in the boot.ini file. See Windows 32-bit large address aware support for more information.
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.
Allocation failures
With a split heap the JVM can fail at startup in more ways. The following messages are caused by failure to allocate a split heap:
- JVMJ9GC056 Failed to allocate old space
- There is not enough free space in lower memory to allocate the old area. To resolve the problem, reduce -Xmox.
- JVMJ9GC056 Failed to allocate new space
- There is not enough free space in higher memory to allocate the new area. To resolve the problem, reduce -Xmnx.
- JVMJ9GC056 Required split heap memory geometry could not be allocated
- The new area was allocated lower than the old area. To resolve the problem, reduce -Xmx.
Maximum heap sizes
The typical maximum heap sizes are as follows:
- Windows XP 32-bit on 32-bit hardware using the 32–bit JVM
- 1800 MiB old area and 1000 MiB new area.
-Xgc:splitheap -Xmx2800m -Xmox1800m- Windows XP 64-bit on 64-bit hardware using the 32–bit JVM
- 1700 MiB old area and 2000 MiB new area.
-Xgc:splitheap -Xmx3700m -Xmox1700mApplications have lower limits if they load a large number of classes, load a large number of native libraries, or start several threads.
Parent: Generational Concurrent Garbage Collector
Error 404 - Not Found Error 404 - Not Found
The document you are looking for may have been removed or re-named. Please contact the web site owner for further assistance.