DSAs in 64-bit storage: GCDSA, GUDSA, and GSDSA

CICS® dynamic storage areas above the bar are collectively called the above-the-bar dynamic storage area (GDSA). This storage is 64-bit storage. The z/OS® MEMLIMIT parameter limits the 64-bit storage in the CICS region, including the GDSA.

The MEMLIMIT value that the z/OS operating system assigns to the CICS address space controls the upper limit for 64-bit storage in the CICS region. This 64-bit storage includes both the GDSA, and MVS™ storage in the CICS region outside the GDSA. Some examples of MVS 64-bit allocations outside our GDSA are:
  • CICS internal trace table
  • Main temporary storage queues controlled by TSMAINLIMIT
  • Storage related to JVMs
    • Initial storage heap controlled by options -Xms and -Xmx
    • HEAP64 runtime option
  • Applications requesting 64-bit storage

In contrast, the 24-bit storage specified by the DSALIM value and the 31-bit storage specified by the EDSALIM value relate only to the CICS DSAs, and in any case, the DSAs for below the bar storage are pre-allocated storage areas.

The GDSA does not preallocate an amount of guaranteed storage. The GDSA contains the following dynamic storage areas:
GCDSA (above-the-bar CICS DSA)
The storage area for all CICS-key task-lifetime storage in 64-bit (above-the-bar) storage, and for CICS facilities that use 64-bit storage. See CICS facilities that use 64-bit storage. The GCDSA is always allocated from CICS-key storage.
GUDSA (above-the-bar user DSA)
The storage area for all user-key task-lifetime storage in 64-bit (above-the-bar) storage. If you specify the system initialization parameter STGPROT=YES for the CICS region, which is the default, the GUDSA is allocated from user-key storage. If you specify STGPROT=NO, the GUDSA is allocated from CICS-key storage.
GSDSA (above-the-bar shared DSA)
The storage area for any storage that programs obtain by issuing a EXEC CICS GETMAIN64 command to obtain 64-bit storage with the SHARED option. If you specify the system initialization parameter STGPROT=YES for the CICS region, which is the default, the GSDSA is allocated from user-key storage. If you specify STGPROT=NO, the GSDSA is allocated from CICS-key storage.

When allocating storage for the GDSAs, CICS allocates an “extent”. The extent size for the GDSA is 1 GB. When CICS needs storage for one of its GDSAs (GCDSA, GUDSA or GSDSA), there needs to be 1 GB of continuous storage available from the MEMLIMIT; otherwise, a short on storage condition will occur and CICS issues message DFHSM0606 The amount of MVS above the bar storage available to CICS is critically low.

It is important to ensure a large enough MEMLIMIT is specified to satisfy the GDSA and other 64-bit storage requirements. To estimate a good MEMLIMIT value for a CICS region, you should add up the storage requirements for the facilities that use 64-bit storage that you use in your CICS region. For more information, see Estimating, checking, and setting MEMLIMIT.

Tip: MEMLIMIT can be greater than 8G. If you are running with JVM servers, which utilize more of the 64-bit storage, consider specifying a MEMLIMIT value in the range 10 -15G, or even more.