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. Unless otherwise specified,
each filter can specify up to eight filter values. Those filter values can include wildcard
characters
*
and ?
. The *
character is defined to
match 0 or more characters, while the ?
character matches exactly one character.
- {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
orPGM=*.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 you are running UNIX applications, remember 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 accepts that region size and does not propagate the region size from parent to child. Forking might fail 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 usernames. Each username 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,%) might 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.Restriction:
- Only 1 resource can be named (All other filter keywords support up to 8 values).
Wildcards are not supported.
- 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.
Restriction:Wildcards are not supported.
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|nnnnnP|nnnnnT|nnnnnG|nnnnnM[,NOLIMIT|nnnnnP|nnnnnT|nnnnnG|nnnnnM])
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.
- nnnnnM
- Specifies the value in megabytes.
- nnnnnG
- Specifies the value in gigabytes.
- nnnnnT
- Specifies the value in terabytes.
- nnnnnP
- Specifies the value in petabytes.
Restriction:Wildcards are not supported.
- {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. 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.
Note:The SYSRESVABOVE setting might be ignored for some system address spaces.
- 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.
Note:The SYSRESVBELOW setting may be ignored for some system address spaces.
- 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).
Note:The REGIONABOVE setting may be ignored for some system address spaces.
- 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.
Note:The REGIONBELOW setting may be ignored for some system address spaces.
- 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. The IBM-supplied default is 4096. The maximum number that can be specified is 4,294,967,295 (232 − 1).
- 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
and IEF044I
messages appear in the job log. This message describes the attributes that are applied by SMFLIM statements.
- ISSUE
- Indicates that IEF043I
and IEF044I
are to appear in the job log.
- SUPPRESS
- Indicates that IEF043I
and IEF044I
should not appear in the job log.
Note: If SMFLIM processing determines that the job should be canceled, IEF043Iand IEF044I
appear in the job log.
- MAXSHARE(32|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 Real storage. The number of 4K pages that Real storage requires equals:
Ignore any remainder.(number of shared pages + number of shared views + 252) ÷ 127
DEDICATEDMEMORY(aaaaa{G|T|P}[,bbbbb{G|T|P}])
Specifies a target value of bbbbb to assign and a minimum value of aaaaa to assign if the target is unavailable. Both aaaaa and bbbbb must be multiples of 2 when the units are in gigabytes (G). A maximum of 16384P can be specified. If the minimum cannot be satisfied then the job will be canceled. If the system is initializing dedicated memory while the job step is initializing, the system will attempt to satisfy as much of the request as possible. Once dedicated memory has completed initialization, the system will reprocess the job step, assigning at least the minimum and up to the target value. The job step can determine whether memory is initializing by interrogating RCEREALFRAMESINITIALIZED or can wait for memory initialization to complete by invoking IAXVWAIT.