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.

Valid subsystem IDs are JES2, JES3, STC, ASCH, and TSO. Other valid subsystems include IBM-supplied (such as OMVS), vendor-supplied, and user-defined subsystems.

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 honors 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))
SAFCHECK(aaaa)
Specifies an installation-defined SAF resource name in the FACILITY class. If the user associated with the job or job step does not have access to this resource, the rule is not applied. If the user has READ or higher access, the rule is applied if the other filters for this rule also match.
Note: Only 1 resource can be named (All other filter keywords support up to 8 values).
REQREGION(nnnnnM|nnnnnG|nnnnnK [,nnnnnM|nnnnnG|nnnnnK])

Specifies a value or a range of values. If the REGION size that is specified in the JCL or the default value that is used from the job class is equal to the specified value, or equal to or between the specified values if two values are specified, the rule is applied if the other filters for this rule also match.

nnnnnG
Specifies the value in gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.
Note: Values of 0G, 0M, and 0K are treated as they are treated in JCL, meaning that the job step has requested all of the available storage.
REQMEMLIMIT(NOLIMIT|nnnnnM|nnnnnG|nnnnnK)
Specifies a value or a range of values. If the MEMLIMIT size that is specified in the JCL or the default value that is used from the SMFPRMxx parmlib member is equal to the specified value, or equal to or between the specified values if two values are specified, the rule is applied if the other filters for this rule also match.
NOLIMIT
There is no limit on the use of virtual storage above 2 gigabytes.
nnnnnG
Specifies the value in gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.
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 high private subpools in 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 is 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 high private subpools in 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 is 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 ,OVERRIDEIEFUSI)
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 ensures that storage is reserved in high private subpools of extended storage for use by authorized programs.
NOLIMIT
There is no limit on the use of virtual storage above 16 megabytes.
nnnnnG
Specifies the value in gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.
OVERRIDEIEFUSI
Enforces the matching job to use this REGIONABOVE value instead of the one specified in the corresponding IEFUSI exit parameter Word 5, Subword 5 (Region limit above 16 megabytes). The default behavior, if this is not specified, is to honor the IEFUSI specified value over the SMFLIMxx value unless a SYSRESVABOVE value is also specified on the SMFLIMxx rule. OVERRIDEIEFUSI does not override IEFUSI Word 5, Subword 1 bit 4 (IEFUSI ignores SMFLIMxx parameters).
REGIONBELOW(NOLIMIT | nnnnnK|nnnnnM ,OVERRIDEIEFUSI)
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 ensures that storage is reserved in high private subpools of non-extended storage for use by authorized programs.
NOLIMIT
There is no limit on the use of virtual storage below 16 megabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnK
Specifies the value in kilobytes.
OVERRIDEIEFUSI
Enforces the matching job to use this REGIONBELOW value instead of the one specified in a corresponding IEFUSI exit parameter Word 5, Subword 3 (Region limit below 16 megabytes). The default behavior, if this is not specified, is to honor the IEFUSI specified value over the SMFLIMxx value unless a SYSRESVBELOW value is also specified on the SMFLIMxx rule. OVERRIDEIEFUSI does not override IEFUSI Word 5, Subword 1 bit 4 (IEFUSI ignores SMFLIMxx parameters).

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 behaves as if REGIONX=(0M,0M) were coded, effectively having access to all extended and nonextended private storage, except for the storage reserved for use in high private subpools set by IEFUSI or the SYSRESVxxxxx keywords that were previously described.

DSLIMITNUM(nn)

Overrides the maximum number of user-key data spaces and hiperspaces for this address space. This corresponds to IEFUSI parameter Word 7, subword 3 output field. Start of changeThe IBM-supplied default is 4096. The maximum number that can be specified is 4,294,967,295 (232 − 1).End of change

DSLIMITSIZE(nnnnnM|nnnnnG|nnnnnT)

Overrides the maximum combined size of all user-key data spaces and hiperspaces for this address space. The maximum value is (224 − 1), which is 16,777,215 megabytes, or approximately 16 terabytes minus 1 kilobyte.

nnnnnG
Specifies the value in gigabytes.
nnnnnM
Specifies the value in megabytes.
nnnnnT
Specifies the value in terabytes.
JOBMSG(ISSUE|SUPPRESS)
Specifies whether the IEF043I message appears in the job log. This message describes the attributes that are applied by SMFLIM statements.
ISSUE
Indicates that IEF043I is to appear in the job log.
SUPPRESS
Indicates that IEF043I should not appear in the job log.
Note: If SMFLIM processing determines that the job should be canceled, IEF043I appears in the job log.
MAXSHARE(nn)
Specifies the maximum of source and target shared pages that can be used at one time by problem state callers using the IARVSERV SHARE services. This corresponds to IEFUSI parameter word 7, subword 4 output field. The maximum value for source and target shared pages is 2147483647.
Note: If you change the rule, be sure to balance this with other uses of SQA storage. The number of 4K pages that Extended SQA (ESQA) requires equals:
(number of shared pages + number of shared views + 252) ÷ 127
Ignore any remainder.