MEMLIMIT Parameter
The MEMLIMIT parameter is used to specify the virtual memory limit (above the default limit) that a job can use from the total virtual memory space. It is a keyword parameter and is optional.
Syntax -
MEMLIMIT={nnnnnM}
{nnnnnG}
{nnnnnT}
{nnnnnP}
{NOLIMIT}
nnnnnM nnnnnG nnnnnT nnnnnP |
Specifies the 5-digit value to determine the limit. The value can be coded along with below parameters -
The maximum value is 16384 petabytes. | ||||||||
NOLIMIT | Specifies there is no limit to using virtual memory. |
MEMLIMIT=0M means the job can’t be able to use virtual memory (above the default limit).
Default and overrides -
- If MEMLIMIT is not specified and REGION=0M, the default value is set by SMF.
- If MEMLIMIT is not coded, the default value is NOLIMIT.
- If MEMLIMIT coded at both job and step level, MEMLIMIT at step level has high priority.
Examples -
Scenario1 - 99MB virtual memory at JOB level.
//MTHEXMP1 JOB (MTH007),'PAWAN Y',MEMLIMIT=99M
The job can use upto 99 megabytes of virtual memory above the default limit.
Scenario2 - 0M virtual memory at JOB level.
//MTHEXMP2 JOB (MTH007),'PAWAN Y',REGION=0M
The job is limited to use the default virtual memory.
Scenario3 - Ignoring MEMLIMIT parameter.
//MTHEXMP3 JOB (MTH007),'PAWAN Y',REGION=NOLIMIT
The job can use unlimited virtual memory above the default limit.
Scenario4 - 90MB virtual memory at step level.
//STEP01 EXEC PGM=PROG1,MEMLIMIT=90M
The step can use upto 90 megabytes of virtual memory above the default limit.
Scenario5 - MEMLIMIT parameter.
//MTHEXMP1 JOB (MTH007),'PAWAN Y',MEMLIMIT=99M
//*
//STEP01 EXEC PGM=PROG1,MEMLIMIT=90M
//STEP02 EXEC PGM=PROG2
The step can use upto 90 megabytes of virtual memory above the default limit and STEP02 uses 99 megabytes of virtual memory above the default limit.