ICE039A INSUFFICIENT MAIN STORAGE - ADD AT LEAST nK BYTES

Explanation

Critical. There was not enough main storage available for DFSORT to run, or main storage was fragmented.

System action

The program terminates.

Programmer response

The message gives an estimate of how much more main storage is needed. Add at least that amount to the main storage already allocated to the program, as appropriate, by doing the following:
  1. If it is a JOINKEYS application, refer to Section 'JOINKEYS application notes’ in z/OS DFSORT Application Programming Guide.
  2. If it is an OUTFIL application, try one of the following:
    • Increase the REGION value by at least the amount indicated in the ICE039A message
    • Try REGION=0M
    • If practical, try decreasing the number of OUTFIL data sets or their block sizes.
    Note: OUTFIL processing is subject to the ODMAXBF limit in effect and the system storage limits (for example, IEFUSI), but not subject to the DFSORT storage limits (that is, SIZE, MAXLIM, and TMAXLIM). Due to this reason, you usually do not use SIZE, MAXLIM and TMAXLIM to resolve an ICE039A for an OUTFIL step. Refer to section 'OPTION control statement' in z/OS DFSORT Application Programming Guide for a detailed explanation of ODMAXBF.
  3. If DFSORT is being invoked by Db2 Utility, try reducing the number of parallel tasks run or reduce the number of Sort Work Data Sets used or coded in JCL.
  4. If it is not JOINKEYS or OUTFIL application, then try increasing REGION. Increase by at least the amount indicated in the ICE039A message.
  5. If none of the above resolve the ICE039A, then try increasing storage with the OPTION MAINSIZE or SIZE value. Refer to section 'OPTION control statement' in z/OS DFSORT Application Programming Guide for a detailed explanation of MAINSIZE or SIZE description.
  6. It is not normally recommended to change DFSORT installation defaults to resolve a small number of jobs getting ICE039A, since that will affect the amount of storage available to all DFSORT jobs.

The ICE039A message may sometimes be issued again even after you have provided more storage because DFSORT re-estimates the amount of storage it needs at several points in the program. Resolve any additional ICE039A instances in the same way described previously.

Storage requirements can be reduced by decreasing either the input block size or the number of intermediate storage work areas. Please refer to messages ICE092I, ICE093I, ICE156I and ICE231I for information on storage.

Make sure that storage allocation is permitted above 16 MB virtual and enough storage is available above 16 MB virtual to load the DFSORT modules. Please refer to the section "Required storage for running DFSORT resident" in z/OS DFSORT Installation and Customization.