Information

This site will undergo a brief period of maintenance on Friday, 18 December at 12:30 AM Central/12:00 PM IST. During a 30 minute window, site availability may be intermittent.

Setting up the JCL


You can run a CMFMON recording session as either a Started Task or a batch job and multiple sessions can run concurrently.

To set up a CMFMON recording session

  1. Modify the appropriate JCL, depending on how you want to run CMFMON:

    • Sample Started Task JCL contains sample JCL for running CMFMON as a Started Task. A copy of this JCL is provided in hilevel.UBBSAMP(CMONSTC). If you use this JCL, be sure to copy it to a system procedure library (PROCLIB) first.
    • Sample batch JCL contains sample JCL for running CMFMON as a batch job. Member CMONJCL in hilevel.UBBSAMP contains a copy.

    All control statements must begin in or to the right of column 2.

    Sample Started Task JCL (CMONSTC)

    //CMFMON79  PROC  C79=00,                                                 
    //          RGN=2,                                                        
    //          RECDSN=,                                                      
    //          PRTCL=R                                                       
    //*                                                                       
    //*--------------------------------------------------------------------   
    //*                                                                       
    //*   REVIEW THE JCL FOR APPLICABILITY TO YOUR INSTALLATION STANDARDS     
    //*                                                                       
    //*   CHANGE ?HILEVEL TO THE HIGH-LEVEL QUALIFIER YOU CHOSE FOR           
    //*   YOUR BBLINK DATASET.                                                
    //*                                                                       
    //*--------------------------------------------------------------------   
    //*    PARAMETERS:                                                        
    //*                                                                       
    //*         C79 - SPECIFIES THE SUFFIX OF THE CMFMONXX Control            
    //*               STATEMENT MEMBER YOU WANT CMFMON TO USE.                
    //*               THIS PARAMETER IS MEANINGLESS IF DDNAME SYSINC79        
    //*               IS USED TO SPECIFY Control CARDS IN THE JCL STREAM.     
    //*                                                                       
    //*               CMFMON Control STATEMENT MEMBERS ARE STORED IN THE      
    //*               PARAMETER LIBRARY ALLOCATED BY THE DDNAME PARMLIB.      
    //*               SEE MEMBER CMFMON00 IN THE UBBPARM DATA SET FOR A       
    //*               SAMPLE PACKET OF CMFMON Control STATEMENTS.             
    //*                                                                       
    //*         RGN - SPECIFIES THE REGION SIZE, IN MEGABYTES, TO BE          
    //*               USED BY CMFMON.                                         
    //*                                                                       
    //*      RECDSN - SPECIFIES THE NAME OF THE OUTPUT DATASET.  THIS         
    //*               DATASET IS ALLOCATED TO DDNAME C79OUT.                  
    //*                                                                       
    //*       PRTCL - SPECIFIES THE SYSOUT CLASS FOR PRINTED OUTPUT           
    //*                                                                       
    //CMFMON    EXEC PGM=CX10GV79,REGION=&RGN.M,PARM=&C79                     
    //STEPLIB  DD  DISP=SHR,DSN=?HILEVEL.BBLINK                               
    //PARMLIB  DD  DISP=SHR,DSN=?HILEVEL.UBBPARM                              
    //C79OUT   DD  DISP=SHR,DSN=&RECDSN                                       
    //CMF79LOG DD  SYSOUT=&PRTCL                                              
    //SYSUDUMP DD  SYSOUT=&PRTCL                                              
    //*

    Sample batch JCL

    //JOBCARD JOB                                                             
    //*                                                                       
    //*--------------------------------------------------------------------   
    //*                                                                       
    //* SAMPLE JCL FOR EXECUTING CMFMON IN BATCH.                             
    //*                                                                       
    //*   REVIEW THE JCL FOR APPLICABILITY TO YOUR INSTALLATION STANDARDS     
    //*                                                                       
    //*   CHANGE ?HILEVEL TO THE HIGH-LEVEL QUALIFIER YOU CHOSE FOR           
    //*   YOUR BBLINK AND UBBPARM DATA SETS.                                  
    //*                                                                       
    //*   CHANGE ?RECDSN TO THE NAME OF THE DATASET TO WHICH TYPE 79          
    //*   RECORDS ARE TO BE WRITTEN.                                          
    //*                                                                       
    //*--------------------------------------------------------------------   
    //*                                                                       
    //CMFMON    EXEC PGM=CX10GV79,REGION=2M                                   
    //STEPLIB  DD  DISP=SHR,DSN=?HILEVEL.BBLINK                               
    //C79OUT   DD  DISP=SHR,DSN=?RECDSN                                       
    //SYSUDUMP DD  SYSOUT=*                                                   
    //CMF79LOG DD  SYSOUT=*                                                   
    //SYSINC79 DD  DISP=SHR,DSN=?HILEVEL.UBBPARM(CMFMON00)                    
    //*

    The following table describes JCL statements shown in the previous two figures.

    Explanation of CMFMON JCL

    Job control statement

    Description

    CMFMON EXEC

    specifies the program name (CX10GV79), assigns a region size (2 megabytes), and, in CMONSTC, specifies the suffix of the control statement member that is used by CMFMON (00)

    Warning

    Important

    • The default control statement member is named CMFMON00 and is distributed in hilevel.BBPARM (which was copied to hilevel.UBBPARM after installation). See Default-control-statement-member for a description of this member. If you do not specify the C79 parameter, CMFMON uses the control statements in CMFMON00.
    • If the C79 parameter identifies a control statement member that cannot be located, CMFMON terminates with an error message.
    • BMC recommends that you begin running with a 2-megabyte region size. Depending on the environment and options you use, you may be able to reduce this size later. For example, if you are not planning to do enqueue sampling, a region size of 1 megabyte will probably suffice.

    STEPLIB DD

    defines a PDS that contains the CMFMON load modules

    This PDS must be an APF-authorized library.

    PARMLIB DD(shown in Sample Started Task JCL)

    defines a data set that contains the control statement member for use with CMFMON

    The control statement member must be in the form CMFMONxx, where xx is a suffix you choose.

    If you do not want to use a control statement member in the form CMFMONxx, use the SYSINC79 DD statement instead of PARMLIB. SYSINC79 is described below.

    SYSINC79 DD (shown in Sample batch JCL)

    points to the UBBPARM data set, which contains the default control statement member, CMFMON00

    Use this DD statement instead of PARMLIB when you want to

    • specify in-stream control cards
    • use a PDS member named something other than CMFMONxx

    If both the PARMLIB and the SYSINC79 statements are specified, SYSINC79 is used.

    C79OUT DD

    defines the data set to which you want to record type 79 data

    This data set must be variable blocked spanned (RECFM=VBS).

    To record to SMF data sets, remove this DD statement and specify SMF=YES on the RECORD control statement (see RECORD statement and parameters for more information).

    If you specify DISP=MOD, CMFMON writes records to the end of the C79OUT data set. Any other DISP specification causes CMFMON to write its records starting at the beginning of the data set.

    CMF79LOG DD

    defines the data set that receives messages produced during a CMFMON recording session

  2. Place the RECORD control statement in one of these locations:

    If you place RECORD here

    Use this DD statement

    in a control statement member named CMFMONxx, where xx is a suffix you choose

    PARMLIB

    directly in the JCL

    SYSINC79

    in a control statement member named something other than CMFMONxx

    SYSINC79

    in a sequential data set

    SYSINC79

    The RECORD statement sets global parameters for the CMFMON session. It is required and must be defined before any other control statements in the JCL. Only one RECORD statement may be defined for a single job.

    The following figure shows the RECORD control statement and its parameters:

    RECORD statement and parameters 

    [,SMF={YES|NO}]
    [,INTERVAL={mm|ssS|QTR|HALF|HOUR}]
    [,RUNTIME={10|mmmm}]

    The following table explains each parameter in RECORD statement and parameters.

    Parameter

    Description

    SMF=NO

    (optional ) indicates that you want CMFMON to write records to the data set allocated to the C79OUT DD statement; to write records to SMF data sets, specify SMF=YES

    If you do not specify this parameter, records are written to the C79OUT data set by default.

    If you specify both SMF=YES and the C79OUT DD statement, CMFMON writes data to the SMF data sets. If neither is specified, CMFMON issues an error message and terminates.

    INTERVAL=mm | ss S|QTR|HALF|HOUR

    specifies the CMFMON recording interval —that is, how often type 79 records are written to the data set—where

    • mm
      indicates the number of minutes in the recording interval. Maximum value is 60 minutes. The default is 1 minute.
    • ssS
      indicates the number of seconds. Value specified must be followed by an S, to indicate seconds, in lowercase or uppercase. The minimum value is 1 second, maximum is 3600.
    • QTR
      is 15 minutes
    • HALF
      is 30 minutes
    • HOUR
      is 60 minutes

    A number specified alone, without an S after it, is interpreted as minutes.

    RUNTIME=mmmm

    specifies how long CMFMON collects and writes data, where mmmm is number of minutes

    The default is 10 minutes. Specifying 1440 minutes causes CMFMON to continue running until a STOP command is issued. Minimum value is whatever is specified on the INTERVAL parameter. Maximum is 9999 minutes.

  3. In the same CMFMONxx control statement member (or on the SYSINC79 DD statement), code the control statements to specify the data that you want to collect.Check Getting-the-data-you-want, to make sure the data that you want is available. You must explicitly state the control statement for the data that you want to collect. The default is to not collect the data.

    Warning

    Important

    Although the CMFMON online facility allows you to view the differences (deltas ) in fields between collection intervals, this data is not immediately available in the written records. All values are absolute totals or, for the DEVICE, IOQ, PGSPP, and TRX records, the total for the current CMF Extractor recording interval.

    If you want to calculate the delta values, start with two type 79 records collected at different times, and then subtract the earlier data from the later. Note that for DEVICE, IOQ, PGSPP, and TRX, the records must be created during the same CMF Extractor interval. (Field R79IST tells you when the CMF Extractor recording interval began.)

    The following table summarizes the control statements for the data. See ARD through SRCS for detailed information about each control statement.

    Warning

    Important

    If you must continue a control statement on new line, break the statement anywhere after a comma occurs.

    Summary of CMFMON control statements

    Control statement

    Parameter list

    Type of data collected

    For more information

    ARD

    [JOBNAME=(job1,job2,...,jobn)]

    [,CLASS={A|AS|B|O|T}]

    [,STATUS={A|I}]

    [,RSMDATA={YES|NO}]

    address space resource data

    SMF79 subtype 2 records

    ASD

    [JOBNAME=(job1,job2,...,jobn)]

    [,CLASS={A|AS|B|O|T}]

    [,STATUS={A|I}]

    address space state data

    SMF79 subtype 1 records

    ASRM

    [JOBNAME=(job1,job2,...,jobn)]

    [,CLASS={A|AS|B|O|T}]

    [,STATUS={A|I}]

    address space SRM data

    SMF79 subtype 5 records

    CHANNEL

    none

    channel path activity for all online channel paths

    SMF79 subtype 12 records

    DEVICE

    [CLASS=TAPE|COMM|DASD|GRAPH|UNITR| CHRDR|CTC][,RANGE=(dev1,dev2,...deva:devb)]

    [,SG=(sg1,sg2,...sga:sgb)]

    [,VOLUME=(vol1,vol2,...vola:volb)]

    device activity data

    SMF79 subtype 9 records

    IOQ

    [CLASS=TAPE|COMM|DASD|GRAPH|UNITR| CHRDR|CTC]

    [,RANGE=(lcu1,lcu2,...lcua:lcub)]

    I/O queue activity

    SMF79 subtype 13 and 14 records

    PGSPP

    none

    data set activity for all page data sets in use

    SMF79 subtype 11 records

    SENQ

    [TYPE=S|D|A|E]

    [,RESOURCE=majorname| (majorname,minorname)]

    [,SYSNAME=sysname]

    enqueue conflicts or the status of enqueues for specific resources

    SMF79 subtype 7 records

    SENQR

    [VOLUME=(vol1, vol2....,voln)]

    all active reserve requests

    SMF79 subtype 6 records

    SPAG

    none

    system paging activity

    SMF79 subtype 4 records

    SRCS

    none

    central storage, processor and SRM activity

    SMF79 subtype 3 records

    TRX

    none

    transaction activity

    SMF79 subtype 255 records

    Warning

    Important

    The parameters specified on each control statement are ANDed; that is, all conditions must be true before the data is recorded. For example, if you specify ARD JOBNAME=JOBX,STATUS=I, data is collected for JOBX only when the job is swapped in.



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI Ops Monitor for CMF 6.3