Implementation on Windows

The basis for the Zero Administration Memory Management under Windows is the dynamic extended memory. The technique provides you with a nearly unlimited memory resource. Initially, the extended memory is set to the size of the profile parameter phys_memsize ([PM]). If the user requires more memory, extended memory extends itself in steps from "[PM] / 2" up to the set limits in the profile parameter em/max_size_MB, or until the address space in the Windows page file is used up. By setting the default value for em/max_size_MB to 20000 MB, the size of the Windows page file represents the actual limit for extending the extended memory. The profile parameter phys_memsize determines how much of the total main memory is used by the SAP system. The parameter is entered according to the input at installation. The default value for phys_memsize is the size of the main memory [MM].

The memory allocation strategy for a non-dialog work process was changed as of Release 4.0B. Through the previous allocation sequence, the extended memory was protected to the benefit of the heap memory. This is no longer necessary when using the dynamic extended memory, and the allocation sequence of the batch work processes is identical to the sequence of the dialog work processes (see Allocating Memory for User Contexts). Another beneficial side effect is that you can avoid the PRIV mode (see Private Memory) for background work processes and thereby starting the work processes.

Sequence of allocating memory for non-dialog work processes:

...

       1.      Roll memory until the limit ztta/roll_first

       2.      Extended memory until the limit min {em/address_space_MB, ztta/roll_extension}

       3.      Roll memory until the limit ztta/roll_area

       4.      Heap memory until the limit abap/heap_area_nondia

The basis for zero administration memory management is a sufficiently large Windows page file. The previous recommendation still remains:

Windows page file = 3 to 4 times the main memory size

All relevant memory management parameters are set with an optimal default value so that all manual configurations are unnecessary.

See also: Memory Management under Windows