Previous Topic: 2.5.4.5 Storage Protection

Next Topic: 2.5.4.7 Allocation Measurements and Their Interpretation

2.5.4.6 Virtual Storage Measurement by RMF


RMF does not actually monitor the virtual storage for which
GETMAINS have been issued.  Instead, it monitors via the
VSMLIST macro the allocated areas, unallocated areas, and
free areas of virtual storage.  Thus, all RMF measurements of
allocated and unallocated virtual storage will be in 4KB
increments.  Although the VSMLIST macro does report free
areas within individual virtual pages which are not
completely filled by the results of GETMAINs, RMF ignores
this level of fragmentation and considers such a page to be
completely allocated.  Therefore, RMF monitors virtual
storage at the same level of detail that the VSM manages it
during its allocate/free processing of one or more 4KB pages.

Since VSM manages SQA by considering any unallocated SQA
storage to be part of subpool 245 (see the discussion of SQA
subpools above), RMF must measure SQA usage somewhat
differently from the way it measures other areas of virtual
storage.  To measure other areas of virtual storage which are
unallocated, RMF issues the VSMLIST macro with the SPACE=FREE
parameter.  Then it scans the results of this request,
ignoring free space areas less than 4KB, eventually reporting
the results as multiples of 4KB blocks of storage.

In contrast, when measuring areas other than SQA, RMF issues
the VSMLIST macro with the SPACE=UNALLOC parameter to obtain
a list of totally unallocated blocks of virtual memory.  Each
of these blocks represents one or more 4KB pages, so the
results returned by the VSMLIST macro to RMF are already
measured in multiples of 4KB.

Notice that RMF and VSM (and its VSMLIST reporting macro) use
somewhat conflicting nomenclature.  What RMF calls "free"
storage is measured (except for SQA) by using the VSMLIST
SPACE=UNALLOC parameter, not the SPACE=FREE parameter.

Also notice that RMF will generally understate the
availability of virtual memory by some unknown amount, since
what it calls allocated storage may in fact have holes of
free memory contained in it.  ("Free" as used here has the
same meaning that VSM and the VSMLIST macro use.)  Each such
hole would be less than 4KB in size and would exist in a page
that was already allocated by VSM to a particular subpool and
protect key, so it could only be used to satisfy GETMAINs
which matched these criteria.

Figure 2-178 summarizes the areas whose subpools are
monitored by RMF.



    +------------+----------------------------------------+
    | Area       |                Subpools                |
    +============+========================================+
    | SQA/ESQA   | 226, 239, 245                          |
    +------------+----------------------------------------+
    | CSA/ECSA   | 227,  228, 231, 241                    |
    +------------+----------------------------------------+
    | LSQA/ELSQA | 255                                    |
    +------------+----------------------------------------+
    | PVT/EPVT   | 0, 1-127, 229, 230, 236, 237, 251, 252 |
    +------------+----------------------------------------+


 Figure 2-178. Subpools Monitored by RMF


RMF monitors virtual storage in CSA and SQA at the level of
protect keys and storage pools.