|
Sample RMF Processor Activity Report from SMF 70 Records
It reads as input the SMF file and selects just the type 70 subtype 1 (RMF Processor Activity) records. (See SMF 70 record layout.) These records have a complex layout. Each record contains a variable number of LPAR sections, one for each LPAR. Furthermore, there are a variable number of Logical Processors sections for each of those LPAR sections. However, the logical processor sections (for all LPARS) are all located together -- they are not physically near their owning LPAR section. Nevertheless, Spectrum SMF Writer easily handles these records so you quickly create powerful custom reports from the RMF data. We use nested NORMALIZE parms on the INPUT statement to process each Logical Processor that exists within each Logical Partition within the record. We sort the data by LPAR name and then by logical processor address. We have formatted the first report to reflect this hierarchical layout of the SMF records. For each LPAR, we print a header containing ID info, as well as some info about the physical CPU. Below that are each of the processors for that LPAR. These detail processor report lines show the percentage of the RMF reporting interval for which the processor was: 1) online, 2) waiting, 3) effectively dispatched and 4) processor dispatched. Those LPARS with no defined processors are omitted from this report. A second report (defined used the NEWOUT statement) lists just those LPARS that have no processors. In this report we show only data from the LPAR section. (Not the processor section, since they have none.) All of this with just a few lines of code!
These Spectrum SMF Writer Statements:OPTION: MAXNORMDUMP(0) /*SUPPRESS DUMPS FOR LPARS WITHOUT PROCESSORS*/ ************************************************************************ * THE INPUT WILL BE 1 LOGICAL SMF 70-1 REC FOR EACH LPAR/PROC COMBO * ************************************************************************ INPUT: SMF70 NORM(SMF70_PRSMPD_SEGMENT) NORM(SMF70_PRSMLPD_SEGMENT) ************************************************************************ * INCLUDE ALL 70-1 LPAR SECTIONS THAT HAVE AT LEAST 1 PROCESSOR * ************************************************************************ INCLUDEIF: SMF70RTY=70 AND SMF70STY=1 /*INCLUDE SMF 70 SUBTYPE 1 */ AND SMF70BDN > 0 /* ONLY IF LPAR HAS AT LEAST 1 PROCESSOR */ AND SMF70ONT > 00:00:00 /* ONLY IF LPAR WAS "ACTIVE" IN PERIOD*/ ************************************************************************ * COMPUTE SOME WORK FIELDS (FOR SORTING/BREAKING AND FOR DISPLAY) * ************************************************************************ COMP: PARTITION = #FORMAT(SMF70LPN 3) + ' - ' + SMF70LPM COMP: SORT_PARTITION = SMF70SNM + PARTITION COMP: SORT_DATE_TIME = #FORMAT(SMF70DTE YYYYMMDD) + #FORMAT(SMF70TME HHMMSS) ************************************************************************ * SORT AND PAGE-BREAK ON DATE/TIME. FURTHER ON PARTITION AND PROCESSOR* ************************************************************************ SORT: SORT_DATE_TIME /* INTERVAL */ SORT_PARTITION(PAGE) /* PARTITION */ SMF70CIN /* CPU NAME */ SMF70VPA /* LOGICAL PROCESSOR */ ************************************************************************ * THE HEADING FOR EACH CONTROL GROUP SHOWS DATA FROM LPAR SECTION. * * (NUMBERS IN PARENTHESES SPECIFY THE PRINT-LINE SIZE OF AN ITEM.) * ************************************************************************ BREAK: SORT_PARTITION TOTAL('TOTAL') ************************************************************************ * COLUMNS STMT LISTS DETAIL DATA TO PRINT FROM THE PROCESSOR SECTIONS.* ************************************************************************ COLUMNS: SMF70VPA('LOGL|PROC|ADDR' HEX NOACC) SMF70BPS('WEIGHT|FACTOR' 6) SMF70CIN(4 'CPU|NAME') 2 '|' SMF70ONT('ONLINE|TIME') SMF70ONT_PCT('PCT|ONLINE') 2 '|' SMF70WST('WAIT|TIME') SMF70WST_PCT('PCT|WAIT' 6) 2 '|' SMF70EDT('EFFECT.|DISPATCH|TIME') SMF70EDT_PCT('PCT|EFF|DISP') 2 '|' SMF70PDT('PROC|DISP|TIME') SMF70PDT_PCT('PCT|PROC|DISP' 6) ************************************************************************ * REPORT TITLES * *(SLASHES SEPARATE THE LEFT (EMPTY HERE), CENTER AND RIGHT TITLE PARTS)* ************************************************************************ TITLE: 'RUN DATE:' #DATE / 'SMF 70 - PROCESSOR PERCENT TIME ONLINE REPORT' / 'PAGE' #PAGENUM TITLE: ' ' / TITLE: 'PARTITION INFO' / TITLE: '==============' / TITLE: 'SYSTEM:' SMF70SNM / TITLE: 'PARTITION (NUM-NAME):' SMF70LPN(3) '-' SMF70LPM / TITLE: 'PROCESSOR FAMILY AND MODEL:' SMF70MOD(HEX) SMF70MDL(5) 'SERIAL' SMF70SER(HEX) / TITLE: 'PROCESSOR CAPACITY:' 0 SMF70WLA(6) '(MSU''S)' / TITLE: 'LPAR CLUSTER:' SMF70SPN 'SYSTEM NAME:' SMF70STN / TITLE: 'LPAR DEFINED CAPACITY LIMIT:' 0 SMF70MSU(6) '(MSU''S)' / TITLE: 'STORAGE:' SMF70CSF(7) 'MB' / TITLE: 'PROCESSORS:' SMF70BDN(4) / TITLE: ' ' / TITLE: 'LOGICAL PROCESSOR INFO (FOR ACTIVE PROCESSORS)' / TITLE: 'FOR' SMF70INT_TIME 'MINUTE INTERVAL ENDING' SMF70DTE 'AT' SMF70TME / TITLE: ' ' / ************************************************************************ * BEGINNING OF SECOND REPORT DEFINITION. * * THE SAME INPUT STMT IS USED. ALSO ALL COMPUTED FIELDS ARE AVAILABLE. * ************************************************************************ NEWOUT: ************************************************************************ * INCLUDE ONLY THE 70-1 LPARS WITH NO PROCESSORS IN 2ND REPORT * ************************************************************************ INCLUDEIF: SMF70RTY = 70 AND SMF70STY=1 /*JUST INCL SMF 70-1*/ AND SMF70BDN=0 /*JUST INCLUDE PARTITIONS WITH 0 CPUS*/ ************************************************************************ * SORT 2ND REPORT AND ON DATE/TIME AND PARTITION. NO CONTROL BREAKS. * ************************************************************************ SORT: SORT_DATE_TIME /* INTERVAL */ SORT_PARTITION /* PARTITION */ ************************************************************************ * NAME THE DATA ITEMS TO SHOW IN THE 2ND REPORT * ************************************************************************ COLUMNS: SMF70SNM('SYSTEM') PARTITION('PARTITION|NUM - NAME') SMF70MOD('FAMILY') SMF70MDL('MODEL' 5) SMF70SER('SERIAL|NUMBER' HEX) SMF70WLA('CAPACITY|(MSU''S)') * SMF70SPN('LPAR|CLUSTER') * SMF70STN('SYSTEM|NAME') * SMF70MSU('DEFINED|CAPACITY|LIMIT|(MSU''S)') * SMF70BDN('NUM|PROCESSORS') ************************************************************************ * TITLES FRF SECOND REPORT * ************************************************************************ TITLE: / 'SMF 70 REPORT - PARTITIONS WITH NO CPU''S' / 'RUN DATE:' #DATE TITLE: / 'FOR' SMF70OIL 'MINUTE INTERVAL ENDING' SMF70DTE 'AT' SMF70TME / 'PAGE' #PAGENUM
Produce These 2 SMF Reports.
| ||||||||||||||||||||||||||||||||||||||||
Copyright 2024.
Pacific Systems Group. All rights reserved. |
Home |
Products |
Prices |
Documentation |
30-Day Trials |
Customer Reviews |
Company
| FAQ
| Sample Reports
| SMF Records
|