LIBSTACK
Derivation: LIBrary STACK storage
LIBSTACK controls the allocation of the thread's library stack storage. This stack is used by Language Environment routines that require save areas below the 16 M line.
The default value for non-CICS applications is LIBSTACK(4K,4K,FREE).
The default value for CICS® applications is LIBSTACK(32,4080,FREE).
Syntax .-FREE-. >>-LIBStack--(--+-----------+--,--+-----------+--,--+------+--->< '-init_size-' '-incr_size-' '-KEEP-'
- init_size
- Determines the minimum size of the initial library stack storage. This value can be specified as n, nK, or nM bytes of storage. Language Environment allocates the storage rounded up to the nearest multiple of 8 bytes.
- incr_size
- Determines the minimum size of any subsequent increment to the library stack. This value can be specified as n, nK, or nM bytes of storage. The actual amount of allocated storage is the larger of 2 values— incr_size or the requested size—rounded up to the nearest multiple of 8 bytes. If you specify 0 as incr_size, Language Environment gets only the amount of storage that is needed at the time of the request, rounded up to the nearest multiple of 8 bytes.
- FREE
- Specifies that Language Environment releases storage allocated to LIBSTACK increments when the last of the storage in the library stack is freed. The initial library stack segment is not released until the thread ends.
- KEEP
- Specifies that Language Environment does not release storage allocated to LIBSTACK increments when the last of the storage is freed.
CICS considerations
The default increment size under CICS is 4080 bytes, rather than 4096 bytes, to accommodate the 16-byte CICS storage check zone. Without this accommodation, an extra page of storage is allocated.
z/OS® UNIX considerations
The LIBSTACK option sets the library stack characteristics on each thread.
Usage notes
Language Environment does not acquire the initial library stack segment until the first program that requires LIBSTACK runs.
Performance considerations
You can improve performance with the LIBSTACK runtime option by specifying values that minimize the number of times the operating system allocates storage. See RPTSTG for information about how to generate a report you can use to determine the optimum values for the LIBSTACK runtime option.
For more information
- See RPTSTG for more information about the RPTSTG runtime option.
- For more information about using the storage reports generated by the RPTSTG runtime option to tune the stacks, see z/OS Language Environment Programming Guide.