SMF record general information and best practices

The following list contains some general information about SMF records.
  • To write any SMF-formatted records (except record types 2, 3, and 7) to the SMF data set, specify the ACTIVE parameter. To write record type 17 for temporary data sets, specify REC(ALL).
  • The method of entry to a particular SMF record type determines whether installation-exit routine IEFU83, IEFU84, IEFU85, or IEFU86 receives control before control is returned to the caller of the SVC routine. A branch entry by a cross-memory caller causes IEFU85 to receive control. A branch entry by a non-cross-memory caller causes IEFU84 to receive control. An SVC 83 call causes IEFU83 to receive control. The IEFU86 exit receives control before control is returned to the caller in any of the environments that are described by any of the IEFU83, IEFU84, IEFU85 exits.
  • Many current SMF records contain variable sections. The user of these records should be aware that the record pointers must be updated by the length of each variable section of the record when the record data is being manipulated. Failure to do the address calculation results in writing over valid data in previously processed sections. Other SMF records, (types 23, 30, 32, and 90), contain offsets that point directly from the record header to the data section.
  • Unless otherwise specified, all EBCDIC fields within the SMF records are left-align and right filled with blanks.
  • Detailed information about the device type and device class, within a record, can be found in z/OS® MVS™ Data Areas in the z/OS Internet library.
  • In JES2 and JES3 records, information found in the ‘Common Section’ and the ‘Identification Section’ is defined in JESPARMS.
  • In a loosely-coupled multiprocessing environment (such as JES2 shared spool or JES3), it is possible for the job START/LOGON time to be greater than the STOP/LOGOFF time because the installation does not synchronize the CPU clocks. The difference occurs when the START/LOGON time is initialized on processor A and the job is then processed on processor B. The STOP/LOGOFF time is recorded from processor B.
  • SMF records created by IBM® components never exceed 32,756 bytes. If the data required in a record cause the record to exceed that length, the component responsible for creating the record can, instead, create multiple (continuation) records, none of which exceed 32,756 bytes. See Record Type 22 (16) — Configuration for an example that uses a continuation section and Record Type 24 (18) — JES2 Spool Offload for an example that uses bit mapping to indicate continuation.
  • SMF records are written as spanned (VBS) in order to conserve storage space by ensuring that each block of data is as full as possible. If you specify DCB parameters on any of the input or output DD statements for IFASMFDL, you must specify RECFM=VBS.
  • You should not specify LRECL=X for reading or writing SMF dump data, because LRECL=X signifies that a single record might be larger than 32,756 bytes, which is not the case for SMF data.
  • You can specify LRECL=32760 instead of 32767. You can also specify any block size from 4096 to the maximum allowed for the chosen device.