Here is a discussion of the startup messages that deal with the amount of 24-bit Region used by an IDMS CV at startup.
DC390006 Vnnn REGION NEEDED TO START UP. DC390008 Vnnn STORAGE RETURNED TO OPSYS.
Example from one CV:
DC390005 V1900 RHDCPARM FREESTG RELEASED... 2,048K DC390006 V1900 REGION NEEDED TO START UP... 4,752K DC390020 V1900 TOTAL AMOUNT OF XA STORAGE.. 71,620K DC390007 V1900 SYSTEM CONFIGURATION SIZE... 74,320K DC390008 V1900 STORAGE RETURNED TO OPSYS... 3,048K
The REGION NEEDED TO START UP is the amount of 24-bit region needed for the portion of the IDMS CV system configuration that must reside in 24-bit address space. It is made up of the FREESTG value specified in startup parameter, plus all 24-bit storage and program pools, plus a fixed 24-bit area for certain control block areas and system tables.
Message DC390008 V1900 STORAGE RETURNED TO OPSYS also refers to 24-bit region and is the amount left from the initial GETMAIN (which requested all the 24-bit Region the opsys could give us) after building the 24-bit system configuration.
See RI07097 for details of how the 24-bit region is acquired and configured. Note from that discussion of how to avoid abends like S40D, S878, S80A that in this example we could move most of the 3048K RETURNED TO OPSYS into FREESTG. Those kinds of abends can happen in some CVs depending on the processing and possible third party vendor products that could do opsys GETMAINs that could also use LSQA opsys stg after CV is fully up. For the most part all of the GETMAINS IDMS does to build the system are done by the time CV is fully up. The only exception is a Buffer defined to use opsys stg whose areas come up in retrieval mode. That buffer is not opened at startup, but later when one of the areas is accessed. Only then does IDMS allocate the stg for the buffer (in 31-bit stg).
DCMT D MEM MAP gives a good high level picture of the 24-bit region used. The startup module is loaded at the lowest 24-bit address within the 24-bit region IDMS was given and you can see some of the major control block areas as well as the addresses of the 24-bit storage and program pools.
If you take the HIADDR value which is the highest 24-bit address used and subtract the address of RHDCOS00 and add the FREESTG value you should come up with a number very close to the number you see in REGION NEEDED TO START UP.
In this case HIADDR minus OS00 address = 2764868 2700K
The amount of 24-bit Region the opsys gives us varies depending on opsys release and other opsys factors, but is typically between 7 and 8 MB. We've seen some sites get over 9MB but you can see from my example by adding REGION NEEDED TO START UP to STORAGE RETURNED TO OPSYS that on my LPAR I was given a total of 7800K.
It is important to monitor these startup numbers to avoid exceeding the use of this amount. If you over allocate 24-bit storage or program pools you could cause DC390001 or DC390003 indicating INSUFFICIENT REGION SIZE. In my example the 24-bit non-FREESTG system config was only about 2700K. You want this amount to be a small as possible while not causing any shortages in the 24-bit pools.
DCMT D ALL STORAGE POOL and DCMT D ALL PROGRAM POOL should be monitored to see if the HWMs shown indicate over-allocation of the 24-bit pools. Reducing these pools to only a small amount above what is needed will keep REGION NEEDED TO STARTUP small enough to avoid encountering an INSUFFICIENT REGION SIZE. While you want these pools to be as small as possible, you also want them to be large enough that you encounter no SOS conditions in the 24-bit storage pools and the 24-bit Program and Reentrant pools should indicate all programs loaded to these pools have been loaded only once.
To see that all programs loaded to these pools have been loaded only once, DCMT D ACT PRO or DCMT D ACT REENT PRO stats should show 0 in the following two lines:
Loads overlaying program not in use 0 0% of loads Loads overlaying program in use 0 0% of loads
This means no programs had to be loaded more than once.