IT teams often need to monitor mainframe performance, especially during changes in applications, workload spikes and other events. To create general mainframe performance reports, get comfortable working with IBM SMF (System Management Facility) record types.
I need to set up some reporting jobs on the general performance of our mainframe: a small IBM s/390 2003 with model 215 processor running OS/390 v2.10, with CICS 4.1 and DB2 6.1. I've already set up some BMC MainView reports for CICS performance, and our database administrator will be taking care of the DB2 part. I'm having trouble extracting RMF data from SMF, likely because of some problems with records lengths.
What's the trick to extracting RMF data from historical SMF data? How can a mainframe programmer run a basic RMF reporting jobstream or jobstreams that use this extracted data? We're specifically interested in batch processing performance at this time.
RMF records are SMF record types 70-79. To extract them, use the system management facility data set dump program (IFASMFDP) as shown in Listing 1. If you need to add date or time parameters, they go as comments at the end.
Listing 1. This shows sample IFASMFDP JCL for a mainframe report.
//MYJOB JOB (ACCT)..... //* //S1 EXEC PGM=IFASMFDP //SYSPRINT DD SYSOUT=* //*DUMPIN DD DISP=SHR,DSN=SYS1.MAN1, //DUMPIN DD DISP=SHR,DSN=SMF.HIST.ON.TAPE(-0), // DCB=BUFNO=16 //DUMPOUT DD UNIT=SYSDA,VOL=SER=vvvvvv, // SPACE=(CYL,(25,25),RLSE), // DISP=(,CATLG,DELETE), // DCB=BUFNO=16, // DSN=userid.SMF7079 //SYSIN DD * INDD(DUMPIN,OPTIONS(DUMP)) OUTDD(DUMPOUT,TYPE(70:79)) /* //* DATE(1900000,2099366) -- dflt //* START(0000) -- dflt //* END(2400) -- dflt
The question refers to IBM's resource management facility (RFM), but since you are running MainView, a BMC Software product, it's possible that you are using BMC's CMF Monitor or IBM's RMF. For CMF, there are samples in the CMF manuals, sample libraries and the CMF ISPF panels that can be used to generate the job control language (JCL) and control cards.
Listing 2. This sample RMF jobstream will generate all reports for the RMF records recording intervals between 13:00 and 14:00. To generate reports for all intervals, leave out the summary time of day (STOD in the JCL) and report time of day (RTOD) control cards.
//MYJOB JOB ...... //RMFPOST EXEC PGM=ERBRMFPP,REGION=5M //SYSABEND DD SYSOUT=* //MFPMSGDS DD SYSOUT=* //MFPINPUT DD DSN=userid.SMF7079, // DISP=SHR //PPSUM001 DD SYSOUT=* //PPPLT001 DD SYSOUT=* //SYSIN DD * SYSOUT(H) STOD(1300,1400) RTOD(1300,1400) SUMMARY(INT,TOT) REPORTS(ALL) /*
IBM's RMF User's Guide provides more information on the RMF post processor and a description of the control statements.
Dig Deeper on IBM system z and mainframe systems
Related Q&A from Mark Zelden
When initial program load stalls out on a mainframe logical partition, the culprit is often consoles. Connectivity is one of many potential causes. Continue Reading
I want to write a COBOL program that will run in z/OS and create a sequential file that can then be FTP'd to a network drive and opened with MS-Word ... Continue Reading
Mainframes don't always operate as they should. In extreme circumstances, the FORCE command can help close down a stuck program. Continue Reading