Section B.3. Memory Management
B 3 Memory Management
Memory management determines for a particular system activity when, and what type and size of memory is allocated. Figure B.4 shows the components involved in SAP memory management.
Figure B.4. SAP MEMORY MANAGEMENT
In the figure, Shared Memory represents memory space accessible by all work processes. Roll Buffer memory is used to queue user dialog requests. When the Roll Buffer becomes full, user dialog requests are swapped to the Roll File. Extended Memory stores user context (i.e., user data), such as the authorization and session context for each SAP session. Page Buffer memory holds large lists and long internal tables. When the Page Buffer becomes full, data are swapped to the Page File. Shared Buffer memory stores business objects and data. A dialog work process checks the Shared Buffer first for required business objects and data before searching the BW database. We will discuss the Shared Buffer later.
When a dialog work process becomes available to process the first user dialog request in Roll Buffer, it allocates memory in the following order:
- The user dialog request, including the initial user context, is moved from the Roll Buffer into Roll Area 1. There the dialog work process can access the required data directly.
- If Roll Area 1 is insufficient, more memory is allocated from the Extended Memory.
- If the Extended Memory is also insufficient, more memory is allocated from Roll Area 2.
- If Roll Area 2 is still insufficient, more memory is allocated from the Private Memory. Once this allocation takes place, the current dialog work process will no longer be available to process other user dialog requests.
To make Private Memory available again to process other user dialog requests, the operating system must restart the dialog work process.
- If the Private Memory is still insufficient, the dialog work process is restarted, and the user dialog request is terminated.
After the user dialog request has been processed, the user context rolls into the Extended Memory and is ready for use by the next dialog request. In addition, the Roll Area and Private Memory allocated for the current dialog work process are released.
This procedure is repeated for each user dialog request in an SAP transaction. At the end of the SAP transaction, the last dialog work process copies the modified user dialog request back to the Roll Area, and eventually back to the end user.
B.3.1 SAP Buffer
The SAP Buffer stores frequently used business objects and data. With the SAP Buffer, work processes don't need to access the database if the buffer already contains the required information. This strategy helps to reduce database access, the load on the database server, and network traffic, thereby improving overall system performance. If the required information is not available in the buffer, it must be paged into the buffer before it can be used, resulting in slower performance.
If the SAP Buffer is too small, it cannot hold all of the required information. This shortage of space results in the information being swapped out of the buffers.
If the SAP Buffer is too large, the native operating system will start paging because too much memory is taken away and given to SAP, database, or other applications.
Ten types of buffers exist:
- The Repository Buffer, also called the nametab (NTAB) buffer, contains the table and field definitions
- The Program Buffer contains the compiled executable versions of ABAP programs
- The CUA Buffer contains the GUI objects, such as menus and push buttons
- The Screen Buffer contains the generated ABAP screens
- The Calendar Buffer contains all defined factory and public holiday calendars
- The Generic Key Table Buffer contains a range of table entries; it can also hold all the entries in a table
- The Single Record Table Buffer contains the single table entries.
- The Import/Export Buffers contain data that must be available to several work processes.
- The Roll and Paging Buffers were discussed earlier in this section.
- The Cursor Cache contains parsed SQL statements.
For Further Information
• Book: SAP R/3 Administrator's Handbook, by Jose Antonio Hernandez (ed.). McGraw-Hill Professional Publishing, 1999. ISBN: 0071354131.
• Book: SAP R/3 System: A Client/Server Technology, by Rudiger Buck-Emden, Jurgen Galimow, SAP AG. Addison-Wesley, 1996. ISBN: 0201403501.
• OSS Note 0039412, " How Many Work Processes to Configure."
• OSS Note 0021636, " RAM Extension: Which Changes to Profile?"
• OSS Note 0016223, " Problems with Roll Memory."