Private Memory

Memory management differentiates between the following memory types:
  • Extended memory (EM)
  • Private memory (heap memory)
Private memory (heap memory) in turn differentiates between PRIV-Speicher and PROC-Speicher.

Private memory cannot be used by other work processes. After releasing the assigned memory, the operating system still considers the virtual memory as being occupied by the allocating work process. These characteristics of private memory require that:

The work process is run in PRIV mode when private memory is assigned.

If a dialog work process has used up the extended memory assigned to it private memory is assigned to the work process.

The other work process types (background, update, and spool work processes) are assigned private memory directly. Allocating extended memory is not useful since no context switch occurs for these work process types.

PRIV memory

The work process is reserved for processing the current user context until the context releases the work process again when the request has ended. Up to this time point no other user context can be mapped to the work process.

If the work process has used up more private memory than defined in profile parameter abap/heaplimit, it is restarted when the user context is closed and private memory is returned. The restart makes the private memory available again for other processes.

In the profile parameter settings, ensure that not too many dialog work processes are simultaneously in the PRIV mode, since this lowers system performance.

The SAP system offers a mechanism that lets you terminate non-active dialog work processes in the PRIV mode. This mechanism helps reduce performance problems. The mechanism works as follows: In the PRIV mode, a maximum number (n) of dialog work processes can run without any time restrictions. To determine this number n, set the value of the profile parameter rdisp/wppriv_max_no. If a value is not entered, the SAP system determines n using the following formula: the number (n) is set to the greater of the 2 following values:
  • Number of dialog work processes minus 5
  • 1

If more than n dialog work processes are active and the time span set in parameter rdisp/max_priv_time (default 600 seconds) has elapsed, the transaction for that PRIV process, which has spent the longest possible time in PRIV mode, is reset. If performance problems arise, you can change these profile parameters, but do this only after consulting with SAP.

PROC memory

PROC memory is used for data that is not bound to a specific user context, for example temporary, heap buffer areas. Unlike with PRIV memory, allocation of PROC memory does not lead to an exclusive reservation of the process for a specific user context.

Example

You have configured 10 dialog work processes on one SAP instance. Profile parameters rdisp/wppriv_max_no and rdisp/max_priv_time are not changed (default settings).

Then, the SAP system checks periodically if more than 5 dialog work processes are in PRIV mode after 600 seconds (10 minutes). If this is the case, the transaction that has been running in PRIV mode for the longest time is reset. A corresponding dialog box appears to the user.