Controlling the SMF buffer

RMF™ data gatherers write data to SMF records, from which the Postprocessor can extract the information you request. The SMF records can be written to SMF data sets or to SMF log streams, but they can also be written to an in-storage, wrap-around SMF buffer (see Accessing data across the sysplex). You can control the size of this buffer and the SMF record types that RMF writes to it, using the SMFBUF option.

The RMF default values for the SMF wrap-around buffer are:

You can override these values by specifying the SMFBUF option in any of three ways. In each case, the keywords SPACE and RECTYPE with the desired values can be specified:

  1. By specifying SMFBUF in the PARM field of the cataloged procedure which starts the RMF control session (see Setting up the RMF control session including Monitor I and Monitor II). This overrides the RMF default values.
  2. By specifying the SMFBUF option on the system command START for the RMF control session. This overrides any PARM specification, and the RMF defaults.
  3. By specifying the SMFBUF option on the system command MODIFY for the RMF control session. This overrides any specifications on the START command, or in the cataloged procedure, and the RMF defaults.
The format of the SMFBUF option is:
NOSMFBUF
or
SMFBUF[(
[SPACE(size{K|M|G}
[,FORCE])]
[,RECTYPE(rtype)])]
The default is NOSMFBUF.
size
Is a positive integer specifying the size of the buffer, and K, M and G stand for kilobytes, megabytes and gigabytes, respectively.

The minimum size of the data buffer is 1M or 1024K, the maximum size is 2G. If SMFBUF is specified without size, the size of the buffer defaults to 32M.

FORCE
As a keyword on the SPACE parameter is meaningful only on the MODIFY command, not on START or in the cataloged procedure. It causes the size of an existing SMF data buffer to be adjusted immediately. If FORCE is not specified, the data buffer size is adjusted during the next wrap-around interval, which depends on the current size of the data buffer.

When you reduce the size of an already active SMF buffer, bear in mind that FORCE will cause a loss of any data stored at the upper end of the old buffer.

rtype
Specifies the SMF record type or types to be stored in the buffer. Valid values are:
  • A decimal number from 0 to 255, inclusive, denoting an SMF record type. You can follow each record type with a list of subtypes in parentheses.
  • Two such numbers, separated by a colon(:), denoting a range of SMF record types. No subtypes can be specified, in this case.

If you specify a record type without a subtype list, or a record type range, all subtypes of the specified record type or types are stored in the data buffer.

Note: SMF records type 79 subtype 15 (for Monitor II IRLM long lock reporting) will be written only if you define this explicitly, for example

SMFBUF(RECTYPE(0:78,79(1:15)))

If you omit rtype, the default value used is 70:78.

SMFPRMxx in SYS1.PARMLIB
To write SMF records type 79 subtype 15 (for Monitor II IRLM long lock reporting), exits IEFU83, IEFU84, IEFU85 need to be defined, for example:
SYS(.....,EXITS(IEFU83,IEFU84,IEFU85,....
SUBSYS(STC,EXITS(IEFU83,IEFU84,IEFU85,............ 
The defaults mean that SMFBUF without options in the cataloged procedure or on the START command is equivalent to:
SMFBUF(SPACE(32M),RECTYPE(70:78))

If you specify SMFBUF without options on the MODIFY command, RMF displays the current options, or tells you if the data buffer is not active.

The values specified on a system command override any SMFBUF option in the RMF cataloged procedure.

Examples: Assume you have included in your RMF cataloged procedure:
//EFPROC EXEC PGM=ERBMFMFC,REGION=256M,
//       PARM='SMFBUF(SPACE(40M),RECTYPE(70:79))'
This will be your system's standard SMF buffer definition. SMF records of types 70 to 79 inclusive will be stored in a 40-megabyte wrap-around buffer.
To alter the record types for one RMF control session, use the START command, for example:
S RMF,,,(SMFBUF(RECTYPE(72(1,2,3))))
This leaves the size of the wrap-around buffer unchanged, but causes only SMF records of type 72, subtypes 1, 2 and 3 to be stored in it.
During the RMF control session, you can alter the size of the SMF wrap-around buffer without affecting the record types to be collected. Use the MODIFY command to reduce the size of the buffer, for example:
F RMF,SMFBUF(SPACE(16M))

To make SMF records type 104 available in the SMF buffer, you must specify SMF record type 104, optionally reduced to required subtypes, with the SMFBUF parameter, for example:

SMFBUF(RECTYPE(70:78,79(1:15),104(1:12)))  /* for AIX on System p */
SMFBUF(RECTYPE(70:78,104(20:31)))          /* for Linux on System x */
SMFBUF(RECTYPE(70:79,104(40:53)))          /* for Linux on System z */
SMFBUF(RECTYPE(70:79,104(60:64)))          /* for Windows on System x */