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:
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" GETMAIN
s; that is, the Natural user thread
is then divided into "logical" units: the 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.
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.
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.
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
.