In startup message DC390006 Vnnn REGION NEEDED TO START UP, exactly what makes up this amount of storage?
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.
D MEM MAP
RHDCOS00 7000 OPT 292F0 NLT 2AC20 CSA 2CDB0
LKM 34040 SCAAREA 34AE0 CCE 37AC0 STGPOOL 61000
PTT 63108 ECBLIST 1DC4A0 CSVCAREA 1DC8C0 TCA 1E1E00
DCEAREA 1E1EC0 TCEAREA 1E2F00 PGMPOOL 208000 RENTPOOL 221000
RHDCD05V 24D200 RHDCD07Q 252200 RHDCD00B 253E00 RHDCD0EV 255A00
RHDCD03Q 264200 HIADDR 2AA044 SVC172 B573C8 EREAREA 289FE140
ESE 289FE8E0 DMCL1900 3AF0C490 RUA 3AF26D90 DDT 3AF28C08
LTT 3AF28D88 TCESTACK 3AF5DF88 ABENDSTG 3B09C5E8 QDT 3B0A1808
TDT 3B0A3508 PDT 3B0B5F08 SCT 3B163888 MPMODTBL 3B165608
RCA 3B165E88 RLEAREA 3B165F48 RCEAREA 3B1892C0 DPEAREA 3B206540
ILEAREA 3B20E9E8 XASTGPL 3ED5D000 XAPGMPL 400E5000 XARENTPL 400FE000
IDMSDBIO 400FE0B8 IDMSDBMS 401210B8 RHDCD04W 403DF600 RHDCD0ZU 403E0C00
RHDCD0LV 403E7C38 RHDCD0IP 403EA400 RHDCRUSD 40C11400 RHDCLGSD 40C11E00
RHDCTRSD 40C12A00 PMONCIOD 40C197F8 PMONCROL 40C1B600 RHDCDEAD 40C1D000
RHDCCFSD 40C25800 IDMSLMSD 40C27C00 IDMSDBSD 40C29800
V1900 ENTER NEXT TASK CODE: CA IDMS RELEASE 19.0 TAPE GJJ04I node SYST1900
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.