Sizing IDMS program pools
search cancel

Sizing IDMS program pools

book

Article ID: 128493

calendar_today

Updated On:

Products

IDMS IDMS - Database

Issue/Introduction

This article provides guidelines on how to properly size IDMS program pools.

Environment

Release: All supported releases.

Resolution

To get size and load statistics, a list of the programs in the pool and pool map for a particular program pool, use the DCMT D ACTIVE PROGRAMS command in one of four formats:

DCMT D ACTIVE PROGRAMS will display this info for the 24-bit non-reentrant Program Pool.
DCMT D ACTIVE REENTRANT PROGRAMS will display this info for the 24-bit Reentrant Pool.
DCMT D ACTIVE XA PROGRAMS will display this info for the 31-bit non-reentrant Program Pool.
DCMT D ACTIVE XA REENTRANT PROGRAMS will display this info for the 31-bit Reentrant Pool.

An example of the stats displayed:

***  Display of XA Reentrant Pool  ***
                       Pages in pool     34936
                       Bytes in pool  17887232
                       Loads to pool       191
                        Pages loaded     25505
                      Load conflicts         0

                 CURRENT ALLOCATIONS
                     Pages allocated     25505  73% of pool
         Pages in use by one program       204   1% of pool
   Pages in use by multiple programs         0   0% of pool
  High-Water mark of pages allocated     25505  73% of pool
        Loads into unallocated space       191 100% of loads
 Loads overlaying program not in use         0   0% of loads
     Loads overlaying program in use         0   0% of loads

An optimally sized pool is one that is large enough that all of the programs that can be loaded into the pool can fit at the same time.

The two most important statistics that will indicate if the pool is large enough are the last two

 Loads overlaying program not in use         0   0% of loads
     Loads overlaying program in use         0   0% of loads

These stats should always be 0. The Loads overlaying programs in use will most likely always show 0, but the Loads overlaying programs Not in use may be non zero and this is an indication that the pool is not large enough.
When a request to load a program into a program pool occurs, IDMS will first look for contiguous UNUSED space in the pool large enough to fit the program. If there is not sufficient unused space, IDMS will find programs not currently in use and use that space to load the new program, marking the overlaid programs as such so that if they are called at a later time they would need to be re-loaded into the pool.
If it is possible to make the program pools large enough so that no programs ever need to be overlaid to fit a new program load, that is optimal.