Additional CICS Storage Issues

Was the request for too much storage?

To find out of the suspended task has issued a request for too much storage, look in the SM suspend queue summary. This gives among other things, the number of bytes requested by every task that has been suspended by the storage manager. You can see whether any of the has made a GETMAIN request for an unreasonably large amount of storage. For example, the following is the dump output in the SM suspend queue summary when task 41 requests 10,000,000 bytes:

==SM: Suspend queue summary

KE Task Tran # Susptok Subpool DSA Request 

053E5400 0000041 04080011 U0000041 EUDSA 10000016 

If the suspended task has made a reasonable GETMAIN request, you need to see if the system is approaching SOS.

Is the storage close to being exhausted?

It could be that your task has made a reasonable request for storage, but the system is too close to SOS for the request to be satisfied.

To see if this could be the cause of the wait, look at the DSA summary in the formatted dump. This tells you the current free space in each DSA, both in bytes and as a percentage of the total storage. It also tells you the size of the largest free area, that is, the biggest piece of contiguous storage. ("Contiguous storage" in this context means storage not fragmented by other records. It is accepted that records too large to fit in a single CI can be split across two or more CIs that are not necessarily contiguous.)

If the largest free area is smaller than the requested storage, this is the likely reason why the task cannot obtain its requested storage.

If the amount of free space is unexpectedly small, look at the task subpool summary. If a task has made an unusually large number of GETMAIN requests, this could indicate that it is looping. A looping task might be issuing GETMAIN requests repetitively, each for a reasonable amount of storage, but collectively for a very large amount. If you find evidence of a looping task, see "Dealing with loops" in your CICS Problem Determination Guide.

If your task has made a reasonable request and the system seems to have sufficient free storage, you need to see if fragmentation of free storage is causing the GETMAIN request to fail.

Is storage fragmentation causing GETMAIN requests to fail?

If the DSA summary shows that the current free space is significantly greater than the largest free area, it is likely that the DSA has become fragmented.