Allocating SMF buffers

When you specify a performance trace type, the volume of data that Db2 can collect can be quite large. If you are sending this data to SMF, you must allocate adequate SMF buffers; the default buffer settings are probably insufficient.

About this task

Begin program-specific programming interface information.If an SMF buffer shortage occurs, SMF rejects any trace records sent to it. Db2 sends a message (DSNW133I) to the MVS operator when this occurs. Db2 treats the error as temporary and remains active even though data could be lost. Db2 sends another message (DSNW123I) to the z/OS® operator when the shortage has been alleviated and trace recording has resumed.

You can determine if trace data has been lost by examining the Db2 statistics records with an IFCID of 0001, as mapped by macro DSNDQWST. These records show:

  • The number of trace records successfully written
  • The number of trace records that could not be written
  • The reason for the failure

If your location uses SMF for performance data or global trace data, be sure that:

  • Your SMF data sets are large enough to hold the data.
  • SMF is set up to accept record type 102. (Specify member SMFPRMxx, for which 'xx' are two user-defined alphanumeric characters.)
  • Your SMF buffers are large enough.

Procedure

To allocate SMF buffers:

  • Specify SMF buffering on the VSAM BUFSP parameter of the access method services DEFINE CLUSTER statement.
    Do not use the default settings if Db2 performance or global trace data is sent to SMF.
  • Specify CISZ(4096) and BUFSP(81920) on the DEFINE CLUSTER statement for each SMF VSAM data set.
    These values are the minimum required for Db2; you might have to increase them, depending on your z/OS environment.

    Db2 runs above the 16MB line of virtual storage in a cross-memory environment.End program-specific programming interface information.