Memory configuration basics for S/4 HANA and ERP 6.0
Before I talk about SAP Memory Management, I would like to learn how to set up SAP Memory by sharing my knowledge and knowing more about SAP. In order to explain the SAP Memory, there is no material that can be easily explained to find the data. I will explain some pictures by drawing it.
SAP ERP 6.0 and S / 4 HANA’s SAP Memory settings differ in how they are changed. So, first of all, there are a lot of companies who are using SAP ERP 6.0, so we will explain how to set up ERP 6.0 memory and explain the changes in S / 4 HANA.
First of all, let’s talk about memory management in SAP ERP 6.0, which means that SAP NetWeaver 7.4 or earlier corresponds to SAP 4.6C, 4.7 Enterprise, and SAP ERP 6.0 Ehp1 through Ehp6. The SAP Memory settings change in NetWeaver 7.4, and the NetWeaver 7.5 used by S / 4 HANA also corresponds to the same Memory setting as NetWeaver 7.4.
1. SAP is about the release history of ERP and S/4 HANA.
|Release Year||SAP ERP Product||SAP Basis/Web AS, NetWeaver AS||Main Core Business|
|1992||SAP R/3 1.0A||–|
|1993||SAP R/3 2.0||–|
|2002||R/3 Enterprise 4.7×110||SAP BASIS 6.20||4.7|
|2003||R/3 ENTERPRISE 47X200||SAP BASIS 6.30||4.7|
|2004||SAP ERP 2004||SAP BASIS 6.40 / NetWeaver 2004||5.0|
|2005||SAP ERP 6.0(2005)||NetWeaver 7.0(2004s)||6.0(Same Name 2005)|
|2006||SAP ERP 6.0 EHP1||NetWeaver 7.0||6.01|
|2007||SAP ERP 6.0 EHP2||NetWeaver 7.0||6.02|
|2007||SAP ERP 6.0 EHP3||NetWeaver 7.0||6.03|
|2008||SAP ERP 6.0 EHP4||NetWeaver 7.0 EHP1(7.01)||6.04|
|2010||SAP ERP 6.0 EHP5||NetWeaver 7.0 EHP2(7.02)||6.05|
|2011||SAP ERP 6.0 EHP6||NetWeaver 7.3 (7.30)||6.06|
|2013||SAP ERP 6.0 EHP7||NetWeaver 7.4 (7.40)||6.07|
|2016||SAP ERP 6.0 EHP8||NetWeaver 7.5 (7.50)||6.08|
|2017||SAP S/4 HANA 1709||NetWeaver 7.52 (7.52)||S/4 HANA 1709|
2. I will explain the memory used by SAP Application Server.
The SAP Memory setting is set for the SAP Application Server, which corresponds to the middle part as shown below.
3. The following figure shows the flow when SAP NetWeaver AS System connects to SAPGUI of user PC and executes Transaction. You can see that SAP Application Server uses Extend Memory, Program Buffer, and Roll Memory.
4. SAP NetWeaver 7.0 uses the most commonly used Business Server Page (BSP) to demonstrate the process of using SAP Web Application Server to invoke an access Web page using a Web browser.
So far, we have seen how SAP Web Application Server handles user requests.
- In the SAP Memory settings, I will describe the terms Physical Memory, Virtual Memory, and ABAP Memory. What we need to understand here is that virtual memory is the sum of physical memory and the operating system’s swap file.
Virtual Memory = Physical Memory of H/W + SWAP file on Operating System
Physical Memory = The actual physical memory attached to the H/W
ABAP Memory = SAP Memory used by SAP. It includes Work Process memory, SAP Buffer, Extended Memory, and Private Memory.
- This is an overview from the point of view of using Memory in SAP. The Global Memory on the left side of the figure below is a shared memory area that all users can access. Local memory is the exclusive use area of the work process. Each work process is its own memory area.
- Shared Memory: Memory accessed by all SAP Work Processes (SAP Buffer, Extend Memory, Roll Buffer)
- Local Memory: ABAP Load, Data, Stack, Buffer for database transfer, local roll area, and local paging area reside in Local Memory.
- SAP Buffer: This is the memory accessed by all users and all SAP Work Processes. This includes program, buffered table contents, PXA buffer, Nametab buffer, Calender buffer, and Table buffer. Transaction ST02 can be monitored and verified.
- Roll Buffer: A very small part of the User Context, where the User Name, Default values, and User permissions are stored in the Roll buffer. One per login user.
- Extend Memory: This is a very large part of the User Context. It has an Open Transaction that contains Transaction data, Variable, List, and Internal Table for each user.
- SAP Paging Area: Extract from ABAP Object and Context-Independent Object Export. The ABAP commands correspond to the SAP Paging Area, which corresponds to ABAP commands such as EXTRACT, IMPORT TO MEMORY, EXPORT FROM MEMORY, and CALL TRANSACTION.
- User Context: User authorization, Set / Get Parameter, Internal table, Report list and Variable are only available to each user.
- User-Independent Data: Included in SAP Buffer are Program, Table definition, Filed definition, Customizing Table.
- Heap Memory: Contains data types such as Extended Memory. Heap memory, however, is used when Dialog Work Process wants to use more memory after using Extended Memory. Heap Memory is allocated (Allocated) and released (released) on demand.
- SAP Roll Memory will be explained in detail. When SAP user logs in to SAP Application Server, user’s basic information such as User Name, Default values and User authorization information will be copied to Work Process1. And when the transaction is completed and the job is finished, the user exits the work process (Exit). This is called Roll out.
- Roll In: The process in which the User Context information is copied from the Shared Roll Buffer to the local roll area when the SAP user uses a new work process.
- Roll Out: The SAP Work Process should be made available to other users once the user has finished the Transaction Step. The process of copying the User Context of the user who finished the Transaction Step to the Shared Roll Area from the Local Roll Buffer is called Roll Out.
- We will explain SAP Memory and its parameter setting. SAP parameters for heap memory, extended memory, and roll memory, which are representative of those used in SAP memory, are explained in the figure and parameter. There are many kinds of SAP parameters and many things to set up. Compared to Oracle or MS SQL, the setting is complicated and difficult to understand.
SAP Heap Memory main parameters :
– abap/heap_area_dia : quotas of SAP heap memory that a dialog process can allocated.
– abap/heap_area_nondia : quotas of SAP heap memory that a nondialog process can allocated.
– abap/heap_area_total : size that can be allocated in total by all work process.
– abap/heaplimit : Workprocess restart limit of heap memory
SAP Extended Memory main parameters
– em/initial_size_MB : size of SAP extended memory allocated when the SAP instance starts up
– em/blocksize_KB : size block which split SAP Extended Memory
– ztta/roll_extension : maximum size of a user context in the SAP Extended memory
SAP Roll area parameters
– ztta/roll_first : First amount of roll area used in a dialog WP
– ztta/roll_area : size of the local SAP Roll area in the work process
– rdisp/ROLL_SHM : size of SAP roll Buffer
– rdisp/ROLL_MAXFS : size of entire shared SAP roll area
- This figure shows the process of allocating memory used by SAP Dialog Work Process. This explains how Dialog Work Process allocates memory in different ways, from the order in which users allocate memory to the order in which users allocate memory in non-work processes.
First, Roll Memory is allocated first, then Extended Memory is allocated, and finally Heap Memory is allocated. User-Independent Data is a memory area accessed by all users, and SAP Buffer And the User Context is a memory area that is accessed only by a specific user. It is a memory that is dependent on each individual. This is the user privilege, Internal Table, and Set / Get parameters.
- This figure illustrates the order in which users allocate memory in the Non-Dialog Work Process.
Non-Dialog Work Process uses Roll Memory in the first work process such as Background and Spool, and then Heap Memory. And finally, we use Extended Memory.
- There is a distinction between UNIX and Windows in how SAP specifies Memory. UNIX needs to be configured in a more complex way. However, in SAP NetWeaver 7.4 and later, the parameter PHYS_MEMSIZE = 80% has been introduced to make setting SAP Memory easier. However, this is applicable to SAP R / 3 4.6C, 4.7 Enterprise, and NetWeaver 7.0.
Parameter contents to set SAP memory in UNIX environment.
In the Windows environment, the contents of the parameter to be set by SAP Memory. In a Windows system environment, Zero Administrator Memory Management can be set to a reasonable value, such as parameter PHYS_MEMSIZE = 90%.
- Roll memory moved to extended memory after SAP NetWeaver 7.4.
All saved areas of the Roll Area have moved to Extended Memory, making it easier to set up memory with Zero Administration Memory Menagement.
So the following parameters have been removed for SAP NetWeaver 7.4 and later S / 4 HANA versions.
ztta/roll_first : Initial allocation from the roll area
ztta/roll_area : Total size of the roll area in bytes
rdisp/roll_SHM : Size of the roll buffer in 8 KB blocks
rdisp/roll_MAXFS : Size of the roll file in 8 KB blocks
In Transaction Code ST02, you can see that the Roll Area disappears.
Below are the SAP NetWeaver 7.0, NetWeaver 7.3, and so on.
elow you can see that there is no Roll Area in SAP NetWeaver 7.4 and S / 4 HANA (NetWeaver 7.52).
Extend Memory of S/4 HANA 1709 (NetWeaver 7.52) adds Global Extended Memory, Shared object, and Table Buffer.