Generally the main memory is managed in 4K units. These units are called frames and are assigned to the virtual pages.
A (real) “big page” is a collection of contiguous frames amounting to several MB, the first frame being aligned to the relevant MB multiple.
BS2000 supports big pages with a size of 4 MB, which corresponds to 1024 frames, on SUs x86. These are used for CISCFW compiled code because this runs quicker on big pages.
The big pages used can be returned by CISCFW when requested (e.g. when the main memory of a VM2000 guest system is reduced).
Parameters in the startup parameter file and the MODIFY-MEMORY-PARAMETERS command are available for defining the required number of big pages. The SHOW-MEMORY-CONFIGURATION command outputs both details of the main memory size and of the big page memory (for an example see "Adjusting the big pages during ongoing operation").
Big pages at system initialization
The startup parameter file can also contain parameters for creating big pages.
Settings in the parameter file
The following is defined in the MEMORY parameter set:
With the BIG-PAGE-SHRSIZE parameter, the size (in MB) of the big page memory which is to be created in the shared memory (class 3 memory) and used for CISCFW compiled code of shared programs.
With the BIG-PAGE-QUOTA parameter, the proportion (in %) of main memory which is to be reserved for big pages (required target size).
Quality and validity of the values defined at startup
How much real big page memory (real main memory of the big pages) is to be created in the system is defined in the MEMORY parameter service (BIG-PAGE-QUOTA parameter) when the system is started. The percentage specified there is only a should-be value, however. The actual value may be smaller because the creation of big page memory is linked to the maximum possible number of logical machines (CPUs) in the system. The smaller the memory size, the more CPUs there are, the greater the probability that the actual size of the big page memory will not reach the should-be size.
The values set for working with big pages apply for the current session until they are either modified explicitly using the MODIFY-MEMORY-PARAMETERS command or implicitly by certain system attributes and statuses. These include the increase or reduction of the main memory and the threat of main memory saturation.
Adjusting the big pages during ongoing operation
Big pages can be distributed evenly over the main memory because they may also be above the minimum main memory. As a result it is automatically the case that the size of the big page memory continues to correspond to the BIG-PAGE-QUOTA following main memory configuration (provided an uneven distribution of the big pages had not occurred beforehand, e.g. as a result of the values set being explicitly modified).
Otherwise the actual size of the big page memory can be modified only to a limited extent while the system is running. The MODIFY-MEMORY-PARAMETERS command offers several options for this, see "Main memory": The options are described in detail in the “Commands” manual [27].
Outputs of main memory and big page management
The size of the memory area for the big pages is output on the console with the message EMM2309
. This message is also issued if this size is changed during ongoing operation, e.g.:
EMM2309 THE SIZE OF THE BIG PAGE MEMORY IS 168 MB.
The SHOW-MEMORY-CONFIGURATION command enables a status check on the assignment and utilization of the entire main memory and the big page areas to be implemented at any time.
Example
/SHOW-MEMORY-CONFIGURATION REAL MEMORY MANAGEMENT REPORT 1. MEM-SIZE MIN-MEM-SIZE FREE-CORE-SIZE FREE-MEM-SIZE PAGE-MEM-SIZE CSL 1024 MB 256 MB 32.25 MB 32.25 MB 800.25 MB 0 BIG PAGE MANAGEMENT REPORT 2. QUOTA PLANNED #LM ACTUAL FREE SHR FREE-SHR REDUCE 40 400 MB 4 168 MB 104 MB 64 MB 16 MB CORE/QUOTA
In the example the system has a main memory of MEM-SIZE = 1024 MB, its minimum size being MIN-MEM-SIZE = 256 MB.
(In a VM2000 guest system MIN-MEM-SIZE can be less than MEM-SIZE. In native mode the values are currently the same.)
FREE-CORE-SIZE is the proportion of free main memory which is still available for resident class 3 memory requests from the system. This value is also decisive for the degree of main memory saturation.
FREE-MEM-SIZE is the proportion of free main memory which is available for the remaining resident memory requirements, such as resident memory pools or data spaces. (With a main memory <= 2 GB, FREE-CORE-SIZE and FREE-MEM-SIZE are identical.)
PAGE-MEM-SIZE presents the main memory size which is available for non-resident, pageable pages.
(In systems in which MEM-SIZE and MIN-MEM-SIZE are identical, FREE-MEM-SIZE and PAGE-MEM-SIZE are also identical.)
The last column, CSL, specifies the current degree of main memory saturation, the values 0 (no saturation), 1, 2 or 3 (highest alarm level) being possible (see also "Main memory").
QUOTA specifies the percentage of main memory which is to be used as big page memory (and which was set with the BIG-PAGE-QUOTA parameter in the parameter file or with a preceding MODIFY-MEMORY-PARAMETERS command).
The should-be value which was indicated with PLANNED is calculated from the main memory size (MEM-SIZE) and the percentage (QUOTA).
#LM is the maximum possible number of logical machines (CPUs) in the system, in other words not the LMs attached at the time the command was issued. Not only the minimum size of the main memory plays a significant role for the current size of the big page memory, but also the number of LMs: the greater the number of LMs, the smaller the big page memory can be.
The ACTUAL column outputs the current size of the big page memory, i.e. its actual size. This can deviate from the planned should-be value (PLANNED) if, for example, the big page memory is reduced because of the threat of main memory saturation.
FREE outputs the size of the free (currently unused) big page memory.
The SHR column outputs the size of the shared big page memory provided for CISCFW compiled code in class 3 memory, and FREE-SHR shows the size of the free shared big page memory.
Important information is provided in the last column REDUCE: Here you see when big page memory can be reduced. In the example, in the case of the threat of main memory saturation (CORE) and if a new should-be size of the big page memory which is less than the actual size (QUOTA) results from a modification to the main memory size or BIG-PAGE-QUOTA.
General Notes
The following conditions always apply for main memory management:
MEM-SIZE >= MIN-MEM-SIZE > FREE-MEM-SIZE >= FREE-CORE-SIZE
MEM-SIZE > PAGE-MEM-SIZE >= FREE-MEM-SIZE >= FREE-CORE-SIZE
CISCFW storage or DAB buffers are created in the memory designated with FREE-MEM-SIZE. Nevertheless a main memory saturation can be cleared by reducing DAB buffers or terminating programs if FREE-MEM-SIZE minus FREE-CORE-SIZE is less than the size of the DAB buffers and/or of the CISCFW storage. If this is not the case, measures for reducing the class 3 memory or for reducing the address spaces (tasks, data spaces) are required.
Notes for VM2000
Only in VM2000 guest systems is a so-called minimum value for main memory provided. This minimum value, which falls below the overall memory size, enables the system memory to be reduced.
In a VM2000 guest system you can get closer to the required should-be size of the big page memory by increasing the overall memory size of the guest system.
If a memory reduction is envisaged for an active VM2000 guest system, a MIN-MEM-SIZE which differs from the MEMORY-SIZE must be defined for this VM. To permit the memory to be reduced in this way, BS2000 memory management satisfies all requests for resident memory which are below this MIN-MEM-SIZE. The value selected for this parameter must therefore be large enough. For details on this, please refer to the section “Performance aspects in VM2000 mode (Main memory)” in the “Performance Handbook” [37].