# SMF Records/SMF Type 70 RMF Processor Activity
## SMF Type 70 RMF Processor Activity
### SMF Type 70 Structure

The SMF Type 70 is one of the more complicated SMF record types. Record type 70 is written when the session terminates and for each RMF measurement interval. The RMF intervals are defined in the PARMLIB and can vary in different installations. The default is 15 minutes.
The SMF Type 70 record consists of a header section followed by a RMF product section. Then follow 2 subtypes which contain the following data sections:
| Subtype 1: | CPU control section CPU data section ASID Data Area section PR/SM Partition data section PR/SM Logical Processor data section CPU Identification section |
| Subtype 2: | Cryptographic CCA Coprocessor data section Cryptographic Accelerator data section ICSF Services data section Cryptographic PKCS11 Coprocessor data section |
For more information on subtypes, data sections, field values and offsets see [L1] or [L2].

### SMF record field values directly usable or used in the "Derived Values" Table

| Value | Description |
| SMF70SID | System ID |
| SMF70SSI | Subsystem ID |
| SMF70INT | RMF Intervall |
| SMF70BNP | Number of physical processors |
| SMF70CPA | CPU adjustment Factor. Measured in 16th of a second. This value has been replaced in z/OS 2.1 by SMF70CPA_actual and SMF70CPA_scaling_factor. This value is only valid until z/OS 1.13 |
| SMF70WLA | Processor capacity of the MVS image[MSU/h]. Reflect defined capacity limit when set. |
| SMF70LAC | 4 hour average of CPU service [MSU/h] |
| SMF70GAU | Long-term average of CPU service [MSU/h] not used by the capacity group. If the value is negative the group is capped. |
| SMF70CIX | Index to the CPU-identification name section that contains the EBCDIC name corresponding to the CPU type of the logical processor. SMF70CIXCPU Type 1CP 2 3IFA 4IFL 5ICF 6IIP |
| SMF70PDT | Logical processor dispatch time, in microseconds. This is the number of microseconds that were accumulated during the measurement interval (during which a physical CPU was assigned to this logical CPU). |
| SMF70NRM | Normalization factor for zIIP. Multiply zIIP time by this value and divide by 256 to get the equivalent time on a CP. |
| SMF70DSA | Number of Diagnose samples during the RMF interval. |
| SMF70NSW | Number of diagnose samples where WLM considers to cap the set of logical CPUs of type SMF70CIX within the logical partition (see also SMF70NCA). |
| SMF70NCA | Number of diagnose samples where capping actually limited the usage of processor resources for the set of logical CPUs of type SMF70CIX within the logical partition. |

### Derived Values

| Value | Formula and Description |
| RMF_int | RMF_int = (SMF70INT(mm) * 60) + (SMF70INT(ss)) + (SMF70INT(ttt) / 1000) |
| RMF_int | RMF interval in seconds. The Field SMF70INT contains the duration of the RMF measurement interval, in the form mmsstttF where mm is minutes, ss is seconds, ttt is milliseconds, and F is the sign |
| unimsu | unimsu = (16 / SMF70CPA) * 3600 |
| unimsu | The power of one general purpose processor (CP) in the respective CPC Model derived from the CPU adjustment factor contained in the Field SMF70CPA [MSU/h] (see also: actMSU). SMF70CPA is measured in 16th of a second. The value of SMF70CPA has been replaced in z/OS 2.1 by SMF70CPA_actual and SMF70CPA_scaling_factor. The Formula here is only valid until z/OS 1.13 |
| unimsu_iip | unimsu_iip = ((16 / SMF70CPA) * 3600 * SMF70NRM) / 256 |
| unimsu_iip | The power of one zIIP processor in the respective CPC Model derived from the CPU adjustment factor contained in the field SMF70CPA [MSU/h] and the normalization factor for zIIP contained in the field SMF70NRM (see also: actMSU and iipMSU). SMF70CPA is measured in 16th of a second. The value of SMF70CPA has been replaced in z/OS 2.1 by SMF70CPA_actual and SMF70CPA_scaling_factor. The Formula here is only valid until z/OS 1.13 |
| actMSU | actMSU = (sum(SMF70PDT) * 3600 * 16) / (SMF70CPA * RMF_Int * 1000000) |
| actMSU | System actual MSU of a certain processor type (here: CP) during the RMF interval. The SMF70 Record contains for each logical processor its own "PR/SM Logical Processor Data Section". The following values of the SMF70CIX field informs about the processor type contained in the section: SMF70CIXCPU Type 1CP 2 3IFA 4IFL 5ICF 6IIP The actual MSU of the system for a certain processor type can be calculated from the SMF70PDT field which contains the dispatching time of each processor. The sum of the dispatching times of all processors of the same type during the RMF interval divided by the time of the RMF interval multiplied by the capacity of one processor in [MSU/h] give the system actual MSU during the RMF interval. This is usually actMSU = (CPU_time / Duration) * unimsu where unimsu is the capacity of one processor in [MSU/h]. Because SMF70PDT is measured in microseconds, dividing SMF70PDT by 1000000 normalizes the dispatching time to seconds. The RMF interval time reflect the duration and should also be in seconds. For the processor type of CP the capacity of one CPU can be derived from the CP ajustment factor SMF70CPA. SMF70CPA contains the inverse capacity of one processor but in sixteenth of a second. The capacity of one processor in [MSU/h] can be derived with unimsu = (16 / SMF70CPA) * 3600 and this leads to actMSU = ((sum(SMF70PDT / 1000000) / RMF_Int) * ((16 / SMF70CPA) * 3600) and the simplest Form of that is actMSU = (sum(SMF70PDT) * 3600 * 16) / (SMF70CPA * RMF_Int * 1000000) |
| iipMSU | iipMSU = (sum(SMF70PDT) * 3600 * 16 * SMF70NRM) / (SMF70CPA * RMFint * 1000000 * 256) |
| iipMSU | System actual MSU of a certain processor type (here: zIIP) during the RMF interval. To determine the system actual MSU of the zIIP processors the procedure is the same as described for the CP processors except of a difference in the adjustment factor. Unfortunatelly SMF70CPA is only for the processor type of CP. But for a zIIP processor it is possible to use the SMF70CPA field by normalizing the dispatching time SMF70PDT with the zIIP normalization factor SMF70NRM. With this the dispatching time of the zIIP processor is ajusted as if it would be a CP processor. SMF70PDT_ajusted = SMF70PDT * SMF70NRM / 256 this leads to iipMSU = (sum(SMF70PDT) * 3600 * 16 * SMF70NRM) / (SMF70CPA * RMFint * 1000000 * 256) and the unimsu for a zIIP Processor is uniMSU_iip = (3600 * 16 * SMF70NRM) / (SMF70CPA * 256) |
| P_Cap_cons | P_Cap_cons = (SMF70NSW / SMF70DSA) * 100 |
| P_Cap_cons | WLM Capping considered (LPAR, defined capacity). Percentage where WLM considers to cap the set of logical CPUs of a certain processor type (SMF70CIX) within the logical partition during the RMF interval [% of diagnose samples]. Makes only sense for type CP (SMF70CIX=1). SMF70NSW is identical for every CP. |
| P_Cap_act | P_Cap_act = (SMF70NCA / SMF70DSA) * 100 |
| P_Cap_act | WLM Capping (LPAR, defined capacity). Percentage where capping actually limited the usage of processor resources for the set of logical CPUs of type SMF70CIX within the logical partition during the RMF interval [% of diagnose samples]. Makes only sense for type CP (SMF70CIX=1). SMF70NCA is identical for every CP. |

### REXX Example for SMF Type 70

Example: REXX SMF70 to create a .csv file with the values of interest
← SMF Type 19 Direct Access Volume · References →