Manual LDR_CNTRL=MAXDATA values (32-bit only)

Use the LDR_CNTRL=MAXDATA environment variable to enable memory layouts that are different from the automatic settings.

One interesting setting is MAXDATA=0:

Table 1. Memory model with MAXDATA=0
Segment Contents
0 AIX® kernel
1 Java™ program
2 Primordial Stack (main program thread stack) and Native Heap
3-C Memory Mapped space (mmap/shmat)
D Shared library code
E Memory Mapped space (mmap/shmat)
F Shared library data
The setting of MAXDATA=0 has determined the usage of the segments as follows:
  • Segment 2 is used for the stack of the application program, and for the native heap.
  • The Java heap is allocated in contiguous space in segment 3 and higher segments. That is, a Java heap of 256 MB or smaller uses just segment 3. A Java heap of more than 256 MB uses segments 3, 4, ... as necessary, up to a maximum size of 2.5 GB using all of 3-C.
  • Segment D has been allocated by the operating system for shared library code. Segment F is used for shared library data. The JVM and JIT are mostly contained in shared libraries, which are loaded into these segments.