Start of change

Statements and parameters for SMFLIMxx

The SMFLIMxx parmlib member consists of a set of REGION statements. Each REGION statement has one or more filter keywords and corresponding attributes.

REGION {filters} {attributes}
{filters}
JOBCLASS(aaaa,{bbb,ccc,})
Specifies 1 to 8 job classes. Each job class can contain 1 to 8 characters.
JOBNAME(aaaa,{bbb,ccc,})
Specifies 1 to 8 job names. Each job name can contain 1 to 8 characters.
PGMNAME(aaaa,{bbb,ccc,})
Specifies 1 to 8 program names. Each program name can contain 1 to 8 characters. You can specify *.DD to match a program that is referenced by a DD statement, which is specified in JCL using the PGM=*.stepname.ddname or PGM=*.stepname.procstepname.ddname syntax.
STEPNAME(aaaa,{bbb,ccc,})
Specifies 1 to 8 step names. Each step name can contain 1 to 8 characters.
SUBSYS(aaaa,{bbb,ccc,})
Specifies 1 to 8 subsystem IDs. Each subsystem ID can contain 1 to 4 characters.
Additional considerations for UNIX applications: When running UNIX applications, you need to consider that fork and spawn are issued to create new address spaces. The default processing on fork and spawn is for the UNIX kernel to propagate the region size from the parent to the child. Because the region size in the parent process has already passed through IEFUSI and SMFLIMxx rule processing and has an approved region size, IBM recommends that you add the SUBSYS keyword for the specific subsystem that you want to cover, and not include OMVS.

At the time that step initiation is using the SMFLIMxx data to influence the step's region and MEMLIMIT, the kernel has not yet propagated the parent's region size to the child, so there is nothing to work with. If SMFLIMxx rule processing modifies the region size of the child process, the kernel will honor that region size and not propagate the region size from parent to child. This can result in failure of a fork if the region size is insufficient in the child to capture the parent's storage.

SYSNAME(aaaa,{bbb,ccc,})
Specifies 1 to 8 system names. Each system name can contain 1 to 8 characters.
USER(aaaa,{bbb,ccc,})
Specifies 1 to 8 user names. Each user name can contain 1 to 8 characters.
JOBACCT(aaaa,{bbb,ccc,})
Specifies 1 to 8 job account strings. Each job account string can be 1 to 142 characters. Special characters can be used; for a complete list, see the character sets section of z/OS MVS JCL Reference.
Several wildcard characters are available.
*
Matches 0 or more characters.
?
Matches exactly one character.
%
Automatically matches all fields after which it occurs. For example, a job with JOB(NEWYORK,EFK) could match a rule that includes JOBACCT((NEWYORK,%)).
A single accounting string corresponds to the first accounting field for the job. For example, to specify multiple accounting fields to match a job that includes JOB (IBM,POK), include a second level of parentheses.
  • Quoted strings can wrap lines, but must go to column 71 and start again at column 1. Blanks that are specified within the quotation marks are included as data.
  • Nonquoted strings cannot wrap lines. The line can break at a comma or other delimiter such as a parenthesis and continue on the next line. For example:
    JOBACCT((ABC,
         DEF))
STEPACCT(aaaa,{bbb,ccc,})
Specifies 1 to 8 step account strings. Each step account string can be 1 to 142 characters. Special characters can be used; for a complete list, see the character sets section of z/OS MVS JCL Reference.
Several wildcard characters are available.
*
Matches 0 or more characters.
?
Matches exactly one character.
%
Automatically matches all fields after which it occurs. For example, a rule with STEPACCT= (NEWYORK,%) could match a job step that includes EXEC ...,ACCT=(NEWYORK,EFK).
A single accounting string corresponds to the first accounting field for the job step. To specify multiple accounting fields, (for example, to match a job step that includes ACCT= (IBM,POK), for example, two accounting fields, include a second level of parentheses.
  • Quoted strings can wrap lines, but must go to column 71 and start again at column 1. Blanks that are specified within the quotation marks are included as data.
  • Nonquoted strings cannot wrap lines. The line can break at a comma or other delimiter such as a parenthesis and continue on the next line. For example:
    STEPACCT((ABC,
         DEF))
The corresponding attributes can be set for a job step that matches the preceding filters.
{attributes}
EXECUTE({YES|CANCEL|CANCELFROMIEFUSI|NOCHANGE})
YES
The job step is executed. This can be used to override a previous SMFLIM rule that indicated to cancel the job step.
CANCEL
The job step is canceled, unless overridden by a later matching rule that contains EXECUTE(YES) or EXECUTE(CANCELFROMIEFUSI).
CANCELFROMIEFUSI
The job step is canceled if the IEFUSI exit sets the cancel return code (4).
NOCHANGE
Preserves any previous setting. NOCHANGE is the default when the EXECUTE keyword is not coded in a given rule. Barring any matching rule that changes the EXECUTE setting, the default action is to let the job step be executed, so EXECUTE(NOCHANGE) means that the job step is executed.
MEMLIMIT(NOLIMIT|nnnnnM|nnnnnG|nnnnnT|nnnnnP)
Overrides the memlimit that was coded in a job's JCL, or the default MEMLIMIT that was coded in the SMFPRMxx parmlib member. See z/OS MVS JCL Reference. MEMLIMIT is the limit on the use of virtual storage above 2 gigabytes for a single address space.
NOLIMIT
There is no limit on the use of virtual storage above 2 gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnG
Specifies the value in gigabytes.
nnnnnT
Specifies the value in terabytes.
nnnnnP
Specifies the value in petabytes.

For a complete description of MEMLIMIT and the ways to define it, see z/OS MVS Programming: Extended Addressability Guide.

SYSRESVABOVE(nnnnnK|nnnnnM|nnnnnG)
Specifies the minimum size of storage that is reserved for system-key requests of extended private storage above the 16 MB line. This value can range from 1K to 2047M or 2G. If an IEFUSI exit sets a smaller limit on the job step's storage, the system reserved area will be larger than the minimum that is specified in the rule.
nnnnnG
Specifies the value in gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.
SYSRESVBELOW(nnnnnK|nnnnnM)
Specifies the minimum size of storage that is reserved for system-key users of nonextended private storage below the 16 MB line. This value can range from 1 K to 16384K or 16M. If an IEFUSI exit sets a smaller limit on the job step's storage, the system reserved area will be larger than the minimum that is specified in the rule.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.
REGIONABOVE(NOLIMIT | nnnnnK|nnnnnM|nnnnnG)
Overrides the extended region specification (set with the REGION or REGIONX keywords) that was coded in a job's JCL, or the default that was coded in the job class. This value can range from 1K to 2047M or 2G. The value can also be set to NOLIMIT, which specifies that the region size for this job step is not to be limited. The SYSRESVABOVE value will still ensure that storage is reserved for system-key use.
NOLIMIT
There is no limit on the use of virtual storage above 16 gigabytes.
nnnnnG
Specifies the value in gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.
REGIONBELOW(NOLIMIT | nnnnnK|nnnnnM)
Overrides the nonextended region specification (set with the REGION or REGIONX keywords) that was coded in a job's JCL, or the default that was coded in the job class. This value can range from 1K to 16384K or 16M. The value can also be set to NOLIMIT, which specifies that the region size for this job step is not to be limited. The SYSRESVBELOW value will still ensure that storage is reserved for system-key use.
NOLIMIT
There is no limit on the use of virtual storage below 16 gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.

When a matching rule that includes REGIONBELOW or REGIONABOVE is processed, the job step's REGION request is modified to be an internal representation of REGIONX. For example, if a rule with REGIONABOVE(NOLIMIT) and REGIONBELOW(NOLIMIT), the job step will behave as if REGIONX=(0M,0M) were coded, effectively having access to all extended and nonextended private storage, except for the storage reserved for use by system-key requesters set by IEFUSI or the SYSRESVxxxxx keywords that were previously described.

End of change