MEMLIMIT Parameter


Note! MEMLIMIT parameter can be coded at the job level as well as step level.

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 -
MMega bytes
GGiga bytes
TTera bytes
PPeta bytes
nnnnn value can be any value in the range 0 through 99999.
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.