SMFLIMxx parmlib member
This chapter describes the new parmlib member SMFLIMxx with which you can set up job cancel decisions and region and MEMLIMIT values that are based on the job and its environment.
 
1.1 SMFLIMxx overview
To control memory usage by JOBs, systems administrators might decide to implement IEFUSI exit to assign REGION and MEMLIMIT values to jobs and programs that are based on specific information. This configuration ensures that proper amounts of working storage are allocated for user program and system use within an address space.
Although IEFUSI provides the means to control storage, it does not provide an alternative to specify the amount of storage to reserve for system use. It also might require high overhead for changing code to update rules about execution.
z/OS V2R2 introduces a new SMFLIMxx parmlib member with which system administrators can set up job cancel decisions and region and MEMLIMIT values that are based on the job and its environment.
1.1.1 Activation
The new SMFLIMxx parmlib member defines job storage usage and cancel decisions that are often performed by IEFUSI exit. This configuration reduces the number of required updates to IEFUSI exit and the time that is required to perform operation changes.
The following commands can be used to activate and test SMFLIMxx member settings:
SMFLIM=(xx)
This command is used to activate the SMFLIMxx member at initial program load (IPL) time, where xx is the last two characters.
SET SMFLIM=(xx)
This command is the operator command that is used command to activate or refresh the SMFLIMxx member without an IPL.
SET SMFLIM=(xx,C)
This command is the operator command that is used to perform a syntax check, where xx is the last two characters of the SMFLIMxx member. The C keyword performs the syntax check. This command does not activate new SMFLIM rules.
1.1.2 Filters
Within SMFLIMxx member, the following filter keywords can be used to define rules (each keyword has 1 - 8 values):
JOBNAME
JOBACCT
STEPNAME
STEPACCT
PGMNAME
USER
JOBCLASS
SUBSYS
SYSNAME
You can use “ * ” and “ ? “ as wildcards for all filter keywords and “ % ” for SETPACCT/JOBACCT that indicates there are no matches on the remaining fields.
The following keywords define the storage that is available for use below and above the line. The use of these keywords provides a granularity in defining storage:
REGIONABOVE
This keyword is used to indicate the amount of storage that is available for processing by the JOB above the line. Its values are 1 M - 2 G.
REGIONBELOW
This keyword indicates the amount of storage that is available for processing by the JOB below the line. Its values are 1 K - 16 M.
SYSRESABOVE
This keyword reserves a specified amount of extended storage for system use (for functions, such as task termination and SMF recording). Its values are 1 M - 2 G.
SYSRESBELOW
This keyword reserves a specified amount of non-extended storage for system use. Its values are 1 K - 16 M.
MEMLIMIT
This keyword specifies the limit on the total size of usable virtual storage that is above the bar in a single address space. Its value can be defined in M, G, T, and P, up to 16384 P.
EXECUTE
This keyword defines whether the JOB can run. Possible values are YES, CANCEL, CANCELFROMIEFUSI (use decision from IEFUSI), and NOCHANGE (default).
All statements within MEMLIMxx member must start with REGION keyword, followed by set of filter keywords that indicate to which jobs or jobsteps to apply the settings, and one or more settings to apply. Example 1-1 shows a simple implementation to reserve 4 M of storage below the bar and 1 G of storage above the bar for IBM DB2® JOBs.
Example 1-1 Sample SMFLIM rule
REGION JOBNAME(DB2*)
REGIONBELOW(4M) REGIONABOVE(1G)
If there is more than one rule that applies to a specific job or step, a mix of the settings is used to define the rule with later keywords overriding previous values. Example 1-2 shows a simple configuration in which Storage JOBs that are running ADRDSSU programs have 6 M of storage below the line and a MEMLIMIT of 4 G.
Example 1-2 Sample SMFLIM override match value
REGION JOBNAME(STOR*)
REGIONBELOW(6M) MEMLIMIT(1G)
REGION PGMNAME(ADRDSSU)
MEMLIMIT(4G)
 
Note: Although the first rule sets MEMLIMIT for 1 G on STOR jobs, the second matching rule overrides this value.
Consideration must be taken when coding JOBACCT or STEPACCT filters to your rules because they can be omitted or coded in different ways, as shown in the following examples:
To match a job that does not specify accounting data at all, use the JOBACCT() or JOBACCT(,<other job acct strings>) forms.
To match when accounting keyword is present but data is null, use JOBACCT(()) or JOBACCT((),<other job acct strings>).
Use JOBACCT(,()) to cover both options.
Example 1-3 shows a sample implementation of JOBACCTE with the % wildcard. As shown in this example, any JOBs that have DB2 as first account code value are matched and at least two values in account code field.
Example 1-3 Sample SMFLIM rule
REGION JOBACCT((DB2,%))
REGIONBELOW(4M) REGIONABOVE(1G) EXECUTE(YES)
When SMFLIMxx applies a limit, it writes a multi-line message to the job log, which indicates what changed and where the rule for it originated, as shown in Example 1-4.
Example 1-4 Sample IEF043I message
IEF043I Actions taken by SMFLIMxx parmlib policy for USI00011 USI00011
Step region below changed from 00000M to 00001M by policy - SMFLINHA 0005
Step region above changed from 00000M to 00001G by policy - SMFLINHA 0006
1.1.3 IEFUSI considerations
IEFUSI can be updated to override SMFLIMxx in all or some cases. A new parameter bit (word 1, bit 4, pointed to from word 5 of the parameter list) bypasses SMFLIMxx.
IEFUSI can be updated to remove all REGION/MEMLIMIT decisions. Be sure to leave in any processing that is required for other exits, such as values that are passed to other IEFUTL or IEFUSO.
 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.44.182