The HeapPools summary displays a report of the HeapPool statistics
and provides suggested percentages for current cell sizes as well
as suggested cell sizes.
- Cell Size — the size of the cell specified on the __ucreate()
call
- Extent Percent — the cell pool percent specified on the __ucreate()
call
- Cells Per Extent — the number of cells per extent. This number
is calculated using the following formula:
Initial Heap Size * (Extent Percent/100))/(8 + Cell Size)
with a minimum of four cells.
- Extents Allocated — the number of times that each pool allocated
an extent.
- Maximum Cells Used — the maximum number of cells used for each
pool.
- Cells In Use — the number of cells that were never freed.
Note: A
large number in this field could indicate a storage leak.
- Suggested Percentages for current Cell Sizes — percentages calculated
to find the optimal size of the cell pool extent. The calculation
is based on the following formula:
(Maximum Cells Used * (Cell Size + 8) * 100) / Initial Heap Size
With a minimum of 1% and a maximum of 90%
Make sure that your cell pool extents are neither too large
nor too small. If your percentages are too large then additional,
unreferenced virtual storage will be allocated, thereby causing the
program to exhaust the region size. If the percentages are too small
then the HeapPools algorithm will run inefficiently.
- Suggested Cell Sizes — sizes that are calculated to optimally
use storage (assuming that the application will __umalloc/__ufree
with the same frequency).
Note: The suggested cell sizes are given
with no percentages because the usage of each new cell pool size is
not known. If there are less than 12 cell sizes calculated and the
last calculated cell size is smaller than the largest cell size currently
in effect, the largest cell size currently in effect will be used
for the last suggested cell size.
For more information about stack and heap storage, see z/OS Language Environment Programming Guide.