IAMSMF - IAMINFO command
To obtain a summarization of IAM data set activity, use the IAMSMFVS program. That program provides three distinct reports, consisting of one line per data set rather than multiple full page reports. You could use IAMSMFVS to obtain the summary information, and then use the IAMSMF IAMINFO command to get detailed information about specific files.
Each IAMINFO report is one page in length, providing detailed information about the data set and its use. An IAMINFO report is generated by IAMSMF as one per data set per job step. Optionally, IAMINFO reports can be printed by IAMSMF for each time the data set is closed, or once per data set per job. From the IAMINFO reports, you can tell how a program is accessing the data set, whether or not more buffers could help improve performance, and if the data set needs to be reorganized.
If you would prefer to view the IAMINFO output as a spreadsheet add an IAMCSV DD, described above, to your JCL and IAMSMF will generate one line for each IAMINFO report in a Comma Separated Values (CSV) format which can be imported into any spreadsheet program.
IAMINFO command operands
The IAMINFO command offers a wide variety of selection criteria to provide a lot of flexibility in the reports that end up being printed.
[ATTRIBUTE=ccccc] [,MAXSTACK=nnnnn]
[,BLOCKS=nnnnnn] [,MERGE=ccccc]
[,CYLS=nnnnn] [,NUMCMDS=nnnnn]
[,DSGROUPS=dsname] [,NUMRECS=nnnnn]
[,DSNAMES=dsname] [,OFULL=nn]
[,DYNRET=nnnnn] [,ORECS=nnnnn]
[,EXCP=nnnnn] [,PEBLKS=nnnnn]
[,FROMDATE=yyyyddd] [,PEFULL=nn]
[,FROMDDNAME=ddname] [,RECTYPE=nnn]
[,GROUPNAMES=jobname] [,TODATE=yyyyddd]
[,JOBNAMES=jobname] [,TRACKS=nnnnn]
[,LRECL=nnnnn] [,TYPECMD[E]=(a,b,c)]
[,SHAREOPTION=n]
The following table describes the IAMINFO command operands:
Operand | Description |
---|---|
ATTRIBUTE= | Identifies which attributes an IAM file must have to participate in record selection. Valid values are:
By default, the data set attributes do not participate in the selection criteria. This operand supports the following logical operators: =, ¬=. |
BLOCKS= | Specifies the size, in blocks, of the files to be selected. By default, the size of the IAM data set does not participate in the selection criteria. This operand supports the following logical operators: =, ¬=, >, > =, <, < = |
CYLS= | Specifies the size, in cylinders, of the files to be selected. By default, the size of the IAM data set does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
DSGROUPS= | Specifies that only records having a data set name which begin with the given character strings will be processed. This operand specifies a partial data set name from 1 to 44 characters in length. Up to 50 data set groups may be specified for a single command if entered as follows: DSGROUPS=(dsname1,...,dsnamex) By default, the name of the IAM data set does not participate in the selection criteria. |
DSNAMES= | Specifies that only records having a data set name which match the data set names specified will be processed. This operand specifies a complete data set name from 1 to 44 characters in length. Up to 50 data set names may be specified for a single command if entered as follows: DSNAMES=(dsname,...,dsname) By default, the name of the IAM data set does not participate in the selection criteria. |
DYNRET= | Establishes the limit of record retrievals from IAM's Dynamic Table. By default, the number of dynamic retrievals does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
EXCP= | Establishes the limit of EXCPs (physical read and writes) to the IAM file. By default, the number of EXCPs does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
FROMDATE= | Specifies the lower date limit of the SMF records that are to be copied. The default, if the FROMDATE and/or TODATE operands are not specified, is that the date of the SMF record will not participate in the selection criteria. |
FROMDDNAME= | Specifies the DDNAME of the SMF file to be used as input to IAMSMF. The default input DDNAME is SYSMF. |
GROUPNAMES= | Specifies that only those records having a job name which begin with the specified character strings will be selected. This operand specifies a partial job name from 1 to 8 characters in length. Up to 50 job groups and/or names may be specified for a single command if entered as follows: GROUPNAMES=(jobname1,...,jobnamex) The default, if neither the GROUPNAMES nor JOBNAMES operand is specified, is that the job name will not participate in SMF record selection. |
JOBNAMES= | Specifies that only records having a job name which match the jobnames specified will be selected. This operand specifies a complete job name from 1 to 8 characters in length. Up to 50 job names may be specified in a single command if entered as follows: JOBNAMES=(jobname1,...,jobnamex) The default, if neither the GROUPNAMES nor JOBNAMES operand is specified, is that the job name will not participate in SMF record selection. |
LRECL= | Establishes the limit for the length of records (maximum length for variable) within an IAM file. By default, the record length does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
MAXSTACK= | Specifies the maximum number of compressed SMF records that can be retained in storage. The number can be any value from 100 to 50000, inclusive. The default is 2500 records. |
MERGE= | Identifies how IAMSMF will process multiple SMF records created for the same data set by the same job. Valid values are:
|
NUMCMDS= | Establishes the limit of the total number of commands issued against the IAM file. When used in conjunction with the TYPECMD operand, the selection will be limited to those files having a command count of that type. By default, the number of commands issued against the IAM file does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
OFULL= | Establishes the percent of overflow used limit within an IAM file. By default, the percent of overflow used does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
ORECS= | Establishes the number of overflow records limit within an IAM file. By default, the number of overflow records does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
PEBLKS= | Establishes the number of prime extension blocks limit within an IAM file. By default, the number of prime extension blocks does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
PEFULL= | Establishes the percent of prime extension blocks used limit within an IAM file. By default, the percent of prime extension blocks used does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
RECTYPE= | Identifies the record type of the IAM generated SMF record.The default record type is that which is defined in the IAM option table. Refer to IAM-Global-Option-Change-Facility for further documentation on the IAM option table. |
SHAREOPTION= | Specifies the cross region share options of the files to be selected. Valid values are 1,2,3, or 4. By default, the share options do not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
TODATE= | Specifies the upper date limit of the SMF records that are to be copied. The default, if the FROMDATE and/or TODATE operands are not specified, is that the date of the SMF record will not participate in the selection criteria. |
TRACKS= | Specifies the size, in tracks, of the files to be selected. By default, the size of the IAM data set does not participate in the selection criteria. This operand supports the following logical operators: =, ¬ =, >, > =, <, < = |
TYPECMDE= | Identifies the type of commands that must be issued against Enhanced Format IAM files. If NUMCMDS is also specified, the SMF record is selected if that number of commands of that type was issued. If NUMCMDS is not specified, the SMF record is selected if any command of that type was issued. You can specify up to 16 command types if entered as follows: TYPECMDE=(c,c,...,c) The following values (command types which correspond to those generated by IAMINFO) are supported:
By default, the type of commands issued against the IAM file does not participate in the selection criteria. |
IAMINFO output
The IAMINFO output produced by IAMSMF is quite similar to the normal IAMINFO report. The only change has been in the heading messages. When produced by IAMSMF, the IAMINFO reports do not have the IAM360 or IAM361 heading messages. Instead, they have an IAM370 JOB CHARACTERISTICS section. A sample of that portion of the IAMINFO report is shown below. For a complete description of the IAMINFO report, please Refer IAMINFO-Reports.
Sample of IAM370 IAMINFO Output
JOB NAME -----------------= RAM270 - STEP NAME ----------------= KSD270B
PROGRAM NAME -------------= IAMTVSAM - FUNCTION ------------= UPDATE PROCESSING
DDNAME -------------------= VSAMCRT1 - DSNAME = IAMV.KSD270.CLUSTER
DATE OPENED --------------= 2016.295 - TIME OPENED --------------= 07:51:34
DATE CLOSED --------------= 2016.295 - TIME CLOSED --------------= 07:51:34
Job Characteristics Field Description
Field Name | Description of Field |
JOB NAME | Indicates the name of the job that has processed this IAM data set. |
STEP NAME | Indicates the name of the job step that has processed this IAM data set. |
PROGRAM NAME | The name of the program that issued the OPEN for the IAM data set. |
FUNCTION | The function being performed. Possible values are:
|
DDNAME | Indicates the DD name used to OPEN the file. |
DSNAME | Indicates the IAM data set name. |
DATE OPENED | The date that the data set was opened. |
TIME OPENED | The time of the OPEN. |
DATE CLOSED | Indicates the date that the data set was closed. |
TIME CLOSED | Indicates the time of the CLOSE. |
Example A: Requesting a specific job and data set
In this first example of running IAMINFO from IAMSMF, we are after a specific IAMINFO report. The JOBNAME indicates the name of the job, the DSNAME indicates the name of the data set, and the FROMDATE and TODATE indicate the date that the job was run. MERGE=NO is also specified, so the IAMINFO reports come out for each close, rather than being merged by job step.
Example 1 of IAMSMF IAMINFO Command (EX4104A)
//STEPLIB DD DISP=SHR,DSN=iam.load.lib
//SYSPRINT DD SYSOUT=*
//SYSMF DD DISP=SHR,DSN=smf.data.set
//SYSIN DD *
IAMINFO DSNAME=IAMV.KSD270.CLUSTER,JOBNAME=KSD270,
MERGE=NO,FROMDATE=2016295,TODATE=2016295
/*
Example B: IAMINFO reports for all data sets for a particular job
This next example is requesting all of the IAMINFO reports for jobs beginning with the specified GROUPNAME that ran on the specified date. This JCL also includes an IAMCSV DD card which means that the IAMINFO data will also be written out in a CSV format.
Example 2 of an IAMSMF IAMINFO Command (EX4104B)
//STEPLIB DD DISP=SHR,DSN=iam.load.lib
//SYSPRINT DD SYSOUT=*
//SYSMF DD DISP=SHR,DSN=smf.data.set
//IAMCSV DD DSN=my.iaminfo.csv,DISP=(,CATLG),
// SPACE=(CYL,(5,1)),STORCLAS=storclas
//SYSIN DD *
IAMINFO GROUPNAME=KSD2,MERGE=NO,
FROMDATE=2016295,TODATE=2016295
/*
Example C: Using selective comparisons
In this next example, two IAMINFO commands are being issued. To reduce processing time, the IAM SMF records are first copied to a temporary data set, which is then used for input to the IAMINFO commands. The first IAMINFO is requesting all files opened under the various CICS regions that could have used more buffers to be printed. As part of the screening, we are only concerned about those files that have relatively heavy I/O, so EXCP>10000 are included. From this, a determination can be made if the maximum buffer number really should be raised.
The second IAMINFO command will find jobs that have done a large quantity of inserts. This is done by specifying TYPECMDE=A, which means ADD requests, and NUMCMDS>10000, which indicates more than 10000 adds.
Example 3 of IAMSMF IAMINFO Command (EX4104C)
//STEPLIB DD DISP=SHR,DSN=iam.load.lib
//SYSPRINT DD SYSOUT=*
//SYSMF DD DISP=SHR,DSN=smf.data.set
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(10,5))
//SYSIN DD *
COPY IAMRECORDS
IAMINFO GROUPNAMES=CICS,ATTR=MOREBUFFER,EXCP>10000,
FROMDDNAME=SYSUT2
IAMINFO NUMCMDS>10000,TYPECMDE=A,FROMDD=SYSUT2
/*