Record Type 30 (1E) — Common address space work

SMFPRMxx parameters are described in z/OS MVS Initialization and Tuning Reference.

Information on system address spaces and full function start are described in z/OS MVS Initialization and Tuning Guide.

The type 30 SMF record provides accounting information. It consolidates data that is found in record types 4, 5, 20, 34, 35, and 40 (which simplifies accounting by installation-written post processing routines), and it provides additional information. Use record type 30, because the record types that it replaces are generally not being updated with new measurement data. SMF writes record type 30 when:

For a description of the use of record type 30 for interval accounting, see INTVAL and SYNCVAL — Performing interval accounting.

The type 30 record contains operation information such as the job and step start and end times, step CPU time, step termination status, number of records in DD DATA and DD * data sets processed by the step and job, device allocation start time, problem program start time, and storage protect key. The record contains the number of page-ins, page-outs, swap-ins, and swap-outs for both virtual input output (VIO) and non-VIO data sets. The record contains information on the number of hiperspace page moves and the movement of pages between expanded storage and central storage. This data can be used in resource planning. Information is added to account for time spent in hiperspace processing on a step or interval basis. The record contains an entry for each data set defined by a DD statement or dynamic allocation. Each entry lists the device class, unit type, device number, the execute channel program (EXCP) count, and device connect time for the data set. The usage data section contains information that can be used to attribute usage of a product to the address space.

The type 30 record can be used with subtype selectivity function. Refer to SYS and SUBSYS with TYPE and NOTYPE — Selecting subtypes for SMF recording for a description of subtype selectivity. The subtypes are:
Subtype
Meaning
1
Job start or start of other work unit
2
Activity since previous interval ended
3
Activity for the last interval before step termination
4
Step total
5
Job termination or termination of other work unit
6
System address space, which did not go through full function start. See System address space creation in z/OS MVS Initialization and Tuning Guide for information about system address spaces. When you select subtype 6 for record type 30, the following fields may contain zeros or blank:
  • SMF30PGM
  • SMF30STM
  • SMF30PSN
  • SMF30CL8
  • SMF30UIF
  • SMF30USR
  • SMF30JNM
Information in specific fields may differ for different subtypes. For example, the record identifies the job (and job step) by the:

If accounting numbers (which can be alphameric) are specified in the JOB or EXEC statements, they are included. For subtype 1 and subtype 5, the accounting numbers are taken from the JOB statement. For all other subtypes, the accounting numbers are taken from the EXEC statement.

Because some of the information necessary to complete a field is not always available when a type 30 record is written, some fields might be empty. For example, the SMF30AST, SMF30PPS, SMF30SIT, and SMF30STD fields are not filled in for a subtype 1 record.

Because system address spaces do not use full function start, the subtype 6 record is incomplete; that is, only certain fields in each section are valid. All unused fields are set to zero or blank.

The subtype 6 records are written only at the expiration of an interval; the values are cumulative and indicate data collected since the initialization of the address space. If a system address space later goes through full function start, data is not reported for the period between the expiration of the previous interval and the time that the address space goes through full function start. The subtype 6 record contains data for the APPC/MVS Cumulative Resource section, but data in the APPC/MVS Resource section is not reported in subtype 6.

The length of record type 30 is variable. The maximum length of the type 30 record is 32,756 bytes. If the volume of data in the type 30 record is such that the length would exceed the maximum length, one or more additional type 30 records are produced. The additional records contain only the header/self-defining, subsystem, identification, and one or more sections that can repeat. An example of a section that can repeat is the execute channel program (EXCP) section.

Rules: The following rules apply to all subtypes (except subtype 1). When examining a type 30 record
The IEFACTRT exit will be called, at step and job termination, for each type 30 (subtype 4 and subtype 5) record written to the SMF data set. A separate call to IEFACTRT is made for each additional record.
Notes:
  1. Data sets are recorded in the order of the DD statements; they are not identified by name. However, the data definition name (ddname) is included in the record. (An installation-written IEFUJV exit routine can record this order as each statement is validated). For concatenated DD statements, the ddname is the same on each entry, respectively.
  2. CPU time is not expected to be constant between different runs of the same job step. For more information on EXCP count and CPU time, see EXCP Count and CPU Time.
  3. If the SMFPRMxx parameter DDCONS(YES) is specified, then duplicate execute channel program (EXCP) entries are consolidated. If DDCONS(NO) is specified, then duplicate EXCP entries are not consolidated. SMFPRMxx parameters are described in z/OS MVS Initialization and Tuning Reference.
  4. If a section is not included in the record, the “number of” entry is zero. For example, subtype 1 does not have a completion segment, and SMF30TON is set to zero to indicate this.
  5. If the IEFUSI exit changes the size of the private area, a flag is set in SMF30SFL in the paging and storage section.
  6. Specifying the DETAIL parameter of the SMFPRMxx parmlib member for STC includes all EXCP sections in subtypes 4 and 5 for the step or job.
  7. Specifying the NODETAIL parameter excludes EXCP sections from subtypes 4 and 5 for STC class subsystem jobs only, not for batch or TSO/E subsystems. NODETAIL is enforced for the master address space.

    Start of changeFor OMVS, the OMVS address space is considered a started task (STC), so NODETAIL is honored for processes running in the OMVS address space. However, processes that run under a BPXAS initiator are considered batch work, so NODETAIL has no effect.End of change

When you use the SMF30CPT field in the Accounting section:

Note that a workload may generate different values for SMF30CPT, if some eligible work for the IBM® zEnterprise® Application Assist Processor (zAAP) or IBM z Integrated Information Processor (zIIP) running on a standard processor. If a repeatable value is more desirable than the possible performance benefits of letting zAAP or zIIP eligible work run on both specialty CPs and standard processors, specify IFAHONORPRIORITY=NO or IIPHONORPRIORITY=NO in the IEAOPTxx parmlib member.

Interval records may show this number to be hundredth (1/100) of a second less than other related SMF30 fields (such as SMF30_TIME_IFA_ON_CP). This difference is due to rounding differentials while calculating delta values, and will not occur for step end or job end.

If SMF30CPT is zero, and you would like to understand how much CPU time was used by the address space or you require more precise values in general, you can calculate the CPU and SRB time in microseconds (1 / (10^(-6))) using the following formulas:

The CPU and SRB times computed from service units include zAAP time and zIIP time in addition to CP time. The time derived from CPU service is comparable to the sum of fields SMF30CPT, SMF30_TIME_ON_IFA and SMF30_TIME_ON_zIIP for work with no enclave activity. If the zAAP or zIIP processors are faster than the CP, zAAP or zIIP time is normalized to the time expected on the slower CP before service units are computed. Therefore, the derived time contains normalized zAAP or zIIP time. Field SMF30ZNF contains the normalization factor used. The normalization factor is 256 when the standard CPs are of the same speed as the zAAP/zIIP. Enclave time is summed with address space time in SMF30CPT. The computation above includes dependent enclave time but does not include independent enclave time. To compute independent enclave time, substitute SMF30ESU for SMF30CSU in the equation above.

If you use derived processor times, you determine:
 
derived CP time = CPT / (CPT + zAAPNT + zIIPNT) * derived CPU time

derived Normalized zIIP time = zIIPNT / (CPT + zAAPNT time + zIIPNT) * derived CPU time

derived Normalized zAAP time =  zAAPNT / (CPT + zAAPNT + zIIPNT) * derived CPU time
where:
CPT = SMF30CPT
zAAPNT = SMF30_TIME_ON_IFA * (SMF30ZNF / 256)
zIIPNT = SMF30_TIME_ON_ZIIP * (SMF30SNF / 256)
assuming the denominator is not zero.