SMF SUSPENDLIMIT - SUSPEND Aging Limit

This article describes the SUSPENDLIMIT statement.
micsrm140
This article describes the SUSPENDLIMIT statement.

SUSPENDLIMIT Statement Format

The SUSPENDLIMIT statement is optional.
SUSPENDLIMIT nn
(Range from 1 to 10)
The value of nn is specified in days with the SUSPENDLIMIT parameter. The maximum value is 10, but most sites specify a value from 4 to 7. If an invalid value is specified, a value of 10 is used.
If the SUSPENDLIMIT option statement is omitted, a default of SUSPENDLIMIT 5 will be used.

Suspend File Processing

When SMF data is processed for jobs that have not completed (for example, are waiting to print) or have been in the system during a system failure, the job-related data is incomplete. Because all of the SMF records associated with the job are not available, a complete observation cannot be written to the BATJOB file.
To complete the observation,
MICS
processing retains the data until the remainder of the job information is written to SMF or until "nn" number of days (the suspend aging limit) passes. When
MICS
fails to find the SMF data it needs within the suspend aging limit, the job is taken out of suspension status and written as an incomplete record to the BATJOB file.
In processing SMF address-related data on a daily basis, incomplete data is received on address spaces that are still in process (for example, waiting on print) or that were executing during a system failure. There are no processing issues concerning spool, interval, or step-related data for such address spaces. Records are written to the BATSPL and BATPGM (or other step/interval file) if address space is not batch (for example, BAT_TS for TSO, BAT_ST for started tasks, BAT_TP for APPC Transaction Programs, BAT_OE for UNIX System Services, or BAT_SA for System Address Spaces) as soon as the raw SMF data records for them is encountered.
The job-level file, on the other hand, does present a processing challenge when dealing with incomplete sets of SMF records.
MICS
writes a record to the BATJOB file immediately upon encountering the SMF type 26 purge record from the system where the address space executed.
Note:
By default, only batch job address spaces are written to the BATJOB file.
MICS
provides options that force the creation of BATJOB file observations for non-batch address space types. The option statements TSOJOB, STCJOB, APPCJOB, OEJOB, and SAJOB are detailed here.
The SUSPENDLIMIT parameter addresses the problem presented by the two categories of incomplete sets of SMF data records:
  • Jobs with output waiting for print or purge on the JES spool.
  • Jobs where the execution system purge (type 26) record is missing due to a system crash or lost SMF records.
It is normal for some address spaces to remain in the system for a number of days. Some address spaces, like TSO sessions and batch jobs, begin and end (including the printing or purging of job output) within minutes or hours. Others may execute quickly but leave output on the JES spool for days or weeks after the job has ended.
MICS
deals with the long-lived nature of some address spaces with a suspend, or "Job-To-Date" (BAT_JS) file that contains a job-level record for each address space whose execution node purge record has not yet been encountered. All address space types, even those that will not be written to the BATJOB file (for example, started tasks when the STCJOB option statement is not specified) are represented with a BAT_JS file record if suspended. The BAT_JS file is brought into each daily update run during the DAY030 step. The file provides
MICS
with to-date information about each suspended address space. BAT_JS records are updated if new SMF records for suspended address spaces are encountered in the new SMF data file processed by a daily update run.
When the "nn" number of daily update runs you specify in this parameter passes without
MICS
finding the purge record for a suspended address space, and if no step or interval records for it are encountered in this processing cycle, then
MICS
takes the address space out of suspend status and writes an incomplete record for the address space to the BATJOB file. Long running started tasks are protected from premature writing to the BATJOB file because interval records are encountered in the SMF input file during each daily update run.
What happens if the missing SMF data for an address space appears in the DAY030 SMF data input file after
MICS
has already written a BATJOB observation for the same address space (for example, due to the SUSPENDLIMIT parameter value being exceeded)? It depends on the record types encountered.
  • Step or interval (type 30 subtypes 2, 3, or 4) records cause
    MICS
    to treat the address space as a new job. The step or interval record is written to the step-level file appropriate for the address space type and a "Job-To-Date" BAT_JS record is created for the address space.
  • A Job Termination (type 30 subtype 5) record results in a "Job-To-Date" BAT_JS record that will eventually become a BATJOB observation (although with no execution resource utilization since
    MICS
    only accumulates execution resources from step and interval records).
  • Output Writer (type 6) records are written to the BATSPL file but will not result in a BATJOB observation unless accompanied by a purge (type 26) record and you have specified either the "LATEJOB" or "NJEJOB" option in prefix.MICS.PARMS(SMFOPS).
  • A Purge (type 26) record with no other records associated with it is checked to see if it represents a job which failed with a JCL error, or one that never entered execution because of a TYPRUN=SCAN or TYPRUN=COPY specification on the JOB card. Records are created in the BATJOB file for such jobs because the Purge record is the only one encountered for them.
Stand-alone purge records associated with a job already taken out of suspension would not be of the types listed above and are discarded.

Change the Batch Job Suspend Limit

After you have installed the Batch and Operations Analyzer, you can increase the batch job suspend limit to prevent excessive numbers of records in the BATJOB files.
To increase the suspend limit, update the SUSPENDLIMIT statement in prefix.MICS.PARMS(SMFOPS). In order for the new suspend limit to take effect, you must submit prefix.MICS.CNTL(SMFPGEN) prior to the next DAILY run.