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:
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.