MODIFY irlmproc,SET (z/OS IRLM)

The MODIFY irlmproc,SET command dynamically sets various IRLM operational parameters

The MODIFY irlmproc,SET command performs the following tasks:
  • Dynamically sets the maximum private storage allowed from IRLM.
  • Dynamically sets the number of trace buffers allowed for IRLM.
  • Dynamically sets the number of LOCK LTE entries to be specified on the next connect to the XCF LOCK structure.
  • Dynamically sets the timeout value for a specified subsystem.
  • Dynamically sets the local deadlock frequency.

Abbreviation: F

Environment

This command can be issued only from a z/OS® console.

Data sharing scope: Group or Member, depending on whether you specify the DEADLOCK or LTE options.

Authorization

The command requires an appropriate level of operating system authority.

Syntax

Read syntax diagramSkip visual syntax diagramMODIFYirlmproc,SET,DEADLOCK= nnnn,LTE= nnnn,MLT= nnnnnU,PVT= nnnn,TIMEOUT= nnnn,subsystem-name,TRACE=10nnn

Option description

Use commas with no spaces to separate parameters.

irlmproc
Specifies the IRLM that is to process the command.
SET
Sets the following values for this IRLM:
DEADLOCK= nnnn
Specifies the number, in milliseconds, indicating how often the local deadlock processing is scheduled. nnnn must be a number from 100 through 5000 milliseconds. If a member of a sysplex group and all IRLMs are not enabled for subsecond deadlock processing, message DXR106E is issued.
LTE= nnnn
Specifies the number of lock table entries that are to be specified on the next connect to the XCF lock structure. nnnn must be a number from 0 through 2048, and it must be an exact power of 2. Each increment in value represents 1 048 576 LTE entries. Note that this parameter is used for data sharing only.
MLT= nnnnnU
Specifies the upper limit of private storage above the two gigabyte bar, also called the MEMLIMIT, that is managed by MVS™. This command allows you to dynamically change the MEMLIMIT for IRLM. This storage is used for locks and deadlock processing. The value nnnnn is a five digit number in the range 1 through 99999, and U is a one character unit indicator with the value of M for megabytes, G for gigabytes, T for terabytes, or P for petabytes. The MLT value that is specified for IRLM must be at least 2 GB. The MLT value that is specified for IRLM must be at least 2 GB. The setting of the MEMLIMIT value through the MLT parameter is temporary, holding only as long as the execution of the IRLM instance. To make a permanent MEMLIMIT change, update the MEMLIMIT value in the corresponding IRLM startup procedure.
PVT= nnnn
Specifies the upper limit of private storage, below the two gigabyte bar. nnnn must be a four digit number from 1 through 1800. You can specify this value in megabytes or gigabytes by specifying M (for megabytes) or G (for gigabytes) after the value, as follows, nnnn M or nnnn G. IRLM monitors the amount of private storage used for locks. If the specified limit is reached, new lock requests will be rejected unless they are must complete. If the specified value is out of range or if IRLM's use of private storage is already larger than the specified value, the command is rejected with message DXR106E. No reserve for must complete locks is calculated from the specified PVT= value.
TIMEOUT= nnnn,subsystem-name
Requests that IRLM dynamically set the timeout value, in seconds, for the specified subsystem. nnnn must be a number from 1 through 3600. subsystem-name is the Db2 subsystem name, as displayed by the MODIFY irlmproc,STATUS command.
TRACE= nnn
Requests that IRLM dynamically set the maximum number of 64 KB trace buffers per trace type to the value you specify in nnn . nnn must be a number from 10 through 255. If you specify a value outside of this range, IRLM automatically adjusts the value to a value within the range.

The default is 10 .

This value is used only when the external CTRACE writer is not active. The trace buffers are allocated from extended common storage area (ECSA).

IRLM does not immediately acquire the number of trace buffers you set using this command; IRLM allocates buffers as needed, not to exceed the number of buffers you specify. If the number of trace buffers that you set is less than the number of currently allocated buffers, IRLM brings the number within your specified range by releasing the oldest buffers at the end of the next deadlock cycle.

Usage notes

Effect of an IRLM restart
The values you set using the MODIFY irlmproc,SET command do not persist through a stop and restart of IRLM. The number of trace buffers for each trace type returns to the default value of 10.
TIMEOUT considerations

The TIMEOUT value must be a multiple of the local deadlock parameter. If the value entered is not an even multiple of the deadlock parameter, IRLM will increase the timeout value to the next highest multiple. This new value is used until the IRLM or identified subsystem is terminated, or the timeout is changed again by the operator. The value specified on the command does not affect the timeout value in the Db2 subsystem parameters.

The LTE value is used in the following order:
  1. The value specified using the MODIFY irlmproc,SET,LTE= command, if the value is greater than zero.
  2. The value from the LTE= in the IRLMPROC, if the value is greater than zero.
  3. The value determined by the existing logic, which divides the XES structure size returned on the XESQUERY call by 2 multiplied by the LTE width. The result is rounded to the nearest power of 2, which the existing logic uses for the value.
    Note: The LTE width is determined by the MAXUSRS value.

If an attempt is made to use a nonzero value from either option number 1 or 2, and that value is too large for the structure size that is returned on the QUERY, the value from the next option in the sequence is used instead.

Deadlock value range for non-supporting members
When an IRLM that supports subsecond deadlock joins a group that has a member that does not support subsecond deadlock, if the deadlock value of the new member is less than one second, the value is set to one second.
Trace information for commands issued with group scope
If this command is issued with options that specify group scope in a Db2 data sharing member, it also runs on all other active members. IFICID 090 trace records for other group members can show that the same command was issued by the SYSOPR authorization ID from the 016.TLPKN5F correlation ID, in addition to the trace records from the member where the original command was issued. See Command scope in Db2 data sharing.

Examples

Example 1: Enter the following command on a z/OS system console:
F IR21PROC,SET,TRACE=20
Response on the z/OS system console is as follows:
DXR177I IR21033 THE VALUE FOR TRACE IS SET TO 20.
Example 2: Enter the following command on a z/OS system console:
F IR21PROC,SET,TIMEOUT=60,DBMS
Response on the z/OS system console is as follows:
DXR177I IR21033 THE VALUE FOR TIMEOUT IS SET TO 60 FOR DBMS
Example 3: Enter the following command on a z/OS system console:
F IR21PROC,SET,LTE=1024
Response on the z/OS system console is as follows:
DXR177I IR21033 THE VALUE FOR LTE IS SET TO 1024
Example 4: Enter the following command on a z/OS system console:
F IR21I,SET,DEADLOCK=1000
Response on the z/OS system console is as follows:
DXR177I IR21033 THE VALUE FOR DEADLOCK IS SET TO 1000 MILLISECONDS
Example 5: Enter the following command on a z/OS console:
F IR21I,SET,PVT=1000
Response from the z/OS system console is as follows:
DXR177I IR21033 THE VALUE FOR PVT IS SET TO 1000
Example 6: Enter the following command on a z/OS console:
F IR21I,SET,MLT=4G
Response from the z/OS system console is as follows:
DXR177I IR21033 THE VALUE FOR MLT IS SET TO 4G