Limiting the use of private memory objects
- On the MEMLIMIT parameter in the SMFPRMxx parmlib member
- Through the SET SMF or SETSMF commands
REGION=0
and REGIONX=(0M,0M)
in the JCL; the MEMLIMIT
specified in an IEFUSI exit routine or or SMFLIMxx parmlib member
overrides all other MEMLIMIT settings. If REGION=0
or REGIONX=(0M,0M)
are specified in the JCL and the
IEFUSI exit or or SMFLIMxx limits the REGION size but does not set
MEMLIMIT, MEMLIMIT is defaulted to the REGION size above 16MB. Figure 1 shows how the system chooses which MEMLIMIT applies.
To control the amount of real storage an address space or group of address spaces can use at any time, your installation can classify those address spaces to a WLM resource group with a memory limit. For more information on WLM resource groups see the z/OS MVS Initialization and Tuning Guide and the z/OS MVS Planning: Workload Management.
- For the SMFPRMxx parameters that establish the installation defaults for MEMLIMIT, see z/OS MVS Initialization and Tuning Reference.
- For the SETSMF or SET SMF commands that change the MEMLIMIT dynamically and D SMF,O that displays the current MEMLIMIT, see z/OS MVS System Commands.
- For the JOB and EXEC statements that can set a MEMLIMIT for a job or jobstep, see z/OS MVS JCL Reference.
- For the SMF installation exit IEFUSI that can override the MEMLIMIT for a job or an address space, see z/OS MVS Installation Exits.
- For information about the SMFLIMxx parmlib member, where you can override the MEMLIMIT for a job or an address space, see z/OS MVS Initialization and Tuning Reference.
The system enforces the MEMLIMIT when you issue the IARV64 GETSTOR and CHANGEGUARD services. When your unconditional request for new storage (either for a new memory object or for more usable storage in an existing memory object) causes the MEMLIMIT to be exceeded, the system abends the program. IBM® recommends that programs use the COND parameter to make a conditional request and check the return code to make sure the storage is available.
- If the command raises the current default MEMLIMIT, all address spaces whose MEMLIMIT values are set through SMF run with the higher default.
- If the command lowers the current default MEMLIMIT, all address spaces whose MEMLIMIT values are set through SMF keep their original (higher) system default.
You cannot use SET SMF or SETSMF command to change the MEMLIMIT value that is set through JCL, the IEFUSI installation exit, or the SMFLIMxx parmlib member.