Address space size limit

All z/OS® applications, including Java™ applications, are active within an address space, and are thus bound by address space size limitations.

The desired address space size is specified during startup, for example with the REGION parameter in JCL. However, system settings can limit the actual address space size. Refer to Address Space size to learn more about these limits.
  • MAXASSIZE in SYS1.PARMLIB(BPXPRMxx)
  • ASSIZEMAX in the OMVS segment of the user ID assigned to the started task
  • system exits IEFUSI and IEALIMIT
  • MEMLIMIT in SYS1.PARMLIB(SMFPRMxx) for 64-bit addressing mode

RSE thread pools inherit the address space size limits from RSE daemon. The address space size must be sufficient to house the Java heap, Java itself, common storage areas, and all control blocks the system creates to support the thread pool activity, such as a TCB (Task Control Block) per thread. Note that some of this storage usage is below the 16 MB line. When running in 64-bit mode, Java will attempt to allocate the heap above the 2GB bar, freeing up space below the bar.

You should monitor the actual address space size before changing any settings that influence it, like changing the size of the Java heap or the amount of users supported by a single thread pool. Use your regular system monitoring software to track the actual storage usage by z/OS Explorer. If you do not have a dedicated monitoring tool, then basic information can be gathered with tools like the SDSF DA view or TASID (an as-is system information tool available via the ISPF "Support and downloads" webpage).