Natural User Area Size Considerations

This document describes how to manage the size of the Natural user area and the size of the individual Natural buffers.

The section covers the following topics:


Using the MAXSIZE Parameter

The overall size of the Natural user area is determined by the MAXSIZE parameter in the swap-pool parameter module. Therefore the MAXSIZE must be set large enough to contain the aggregate size of all buffers that are required by Natural and also by possibly used subsystems (Con-nect, TRS, etc.). The buffer requirements of Natural and subsystems are met by the TP driver. When a Natural application is started, a user thread with a size of MAXSIZE is created. This is done by a physical request memory to the operating system.

The buffer requests of Natural to the TP driver cause only "logical" GETMAINs; that is, the Natural user thread is then divided into "logical" units: the Natural buffers.

Defining the Size of the Individual Natural Buffers

The size of the individual Natural buffers is either explicitly defined in the Natural parameter module (with the parameters ESIZE (size of user-buffer extension area), CSIZE (size of Con-nect buffer area), etc.) or is implicitly determined by the definitions of the parameters PS (page size for Natural reports), LS (line size), etc.

The maximum sizes of the Natural buffers can be displayed with the function Buffer Usage Statistics of the Natural utility SYSTP. SYSTP also offers functions for ascertaining the overall maximum Natural buffer sizes used for all users of a specific application.

Possible Error Messages

When the Natural error message NOT ENOUGH MEMORY or BUFFER SIZES EXCEED MAXSIZE appears, this indicates that the MAXSIZE parameter value has not been defined large enough.

Displaying the Aggregate Size of All Buffers

The aggregate size of all buffers requested by Natural (that is, the amount of MAXSIZE actually used by the users of an application) can be obtained via the Natural Swap Information function of the SYSTP utility.

Calculating the Maximum Size

A standard way of calculating the MAXSIZE is:

Add all explicitly defined buffer sizes (for example, ESIZE) and 40 KB (the sum of the internal Natural buffer sizes).

This gives you roughly the required size for MAXSIZE.