Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


Virtual storage information for CICS

Language Environment uses more CICS dynamic storage area than the VS COBOL II run time. The amount of CICS dynamic storage area used and whether the storage is allocated from CICS UDSA (dynamic storage area below the 16-MB line) and from CICS EUSDA (dynamic storage area above the 16-MB line) depends on many factors.

The most important factors include:
Language Environment uses more CICS dynamic storage area than the VS COBOL II run time for the following reasons:
  1. Storage management is done per run unit with Language Environment. Thus, STACK, LIBSTACK, and the different heaps are allocated per run unit. With VS COBOL II STACK (SRA) and heap were managed at the transaction level.
  2. Additional control blocks are allocated by the common component of Language Environment.

The following table shows storage usage data for the VS COBOL II run time and Language Environment run time on CICS TS Version 2 Release 2. The data was collected by running a simple transaction where one VS COBOL II program does an EXEC CICS LINK to another VS COBOL II program with auxiliary trace turned on. The amount of storage used was determined by looking at the GETMAIN trace entries in the auxiliary trace output.

Table 1. Storage allocation for CICS applications

Storage
allocated

VS COBOL II run time

Language Environment run time

Per transaction 2040 bytes

Storage is below the 16-MB line if the transaction is defined with TASKDATALOC(BELOW). Storage is above the 16-MB line if the transaction is defined with TASKDATALOC(ANY).

Fixed size used for control blocks.

14312 bytes

Storage is always above the 16-MB line, regardless of the TASKDATALOC specification.

Fixed size used for control blocks.

Per run unit 740 bytes below the 16-MB line (400 bytes for GETMAIN and 340 bytes for control blocks)

On the first run unit, above and below the 16-MB line heap storage is allocated. This storage is used by any new run units created during the transaction. Additional storage is allocated as needed. When using the IBM-supplied defaults, 8168 bytes of below-the-line storage and 16352 bytes of above-the-line storage is allocated when the first run unit starts.

 
Per run unit with ALL31(ON)   33336 bytes above the 16-MB line. This includes storage for control blocks, plus storage for STACK, LIBSTACK, HEAP, and ANYHEAP. If any below the 16-MB line heap is needed, it is allocated on demand.
Per run unit with ALL31 (OFF) and STACK (4K,4K,BELOW, KEEP)   18000 bytes above the 16-MB line. This includes storage for control blocks, plus storage for HEAP and ANYHEAP.

19672 bytes below the 16-MB line. This includes storage for control blocks, plus storage for LIBSTACK, STACK, and BELOWHEAP.

Note: This scenario was run on Language Environment for z/OS V1.7, using the IBM-supplied values for runtime options: STACK, LIBSTACK, HEAP, ANYHEAP, and BELOWHEAP.

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)