SAP Memory Management an Overview SAP Memory Management

  • Slides: 23
Download presentation
SAP Memory Management (an Overview)

SAP Memory Management (an Overview)

SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll

SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap Memory - SAP Paging Memory - Fixed Local Memory of the SAP work Process Main factors in configuring SAP Memory : - Physical Main Memory (RAM) give attention to ratio between physical and virtual memory - Operating system options and restrictions compare between 32 and 64 bit system architecture

Memory management fundamental : The word “memory” virtual memory physical main memory + swap

Memory management fundamental : The word “memory” virtual memory physical main memory + swap space local memory + shared memory The maximum amount of virtual memory that can be allocated is limited by two variable : - Result of physical hardware restriction - Maximum address space permited by operating system The Operating System manages two type of memory : -Local memory allocated precisely to one operating system process -Shared memory accessible to multiple operating system process

User Context Reffered : Data which is generated by transaction process Variables, Internal table

User Context Reffered : Data which is generated by transaction process Variables, Internal table & screen list New sesion = new user context Data is stored independently in different memory areas Stored in SAP roll memory, SAP extended memory, & SAP Heap Memory Sesions divide into : External sesion opened explicitly by user Internal sesion Opened implicitly by program submit, call transaction, call dialog, call screen, call function in update task, call function in background task, and call function starting new task.

Process Flow Pres. server SAP Application Sever DB Server Table SAP Extended Memory Dispatcher

Process Flow Pres. server SAP Application Sever DB Server Table SAP Extended Memory Dispatcher Queue dispatcher SAP GUI buffer Program buffer Database DDIC Buffer buffer SAP Roll Memory Work Process DB Process

SAP Roll Memory Local SAP Roll area of work process - The initial part

SAP Roll Memory Local SAP Roll area of work process - The initial part of user context stored - Each SAP work process can only access its own roll area Shared SAP Roll Area - Accessible to all of instance work processes - Buffer to temporary keep user context when a user is assigned to new work process - Roll in : copying user context from shared roll area to local roll area - Roll Out : copying user context from local roll area to shared roll area

Roll buffer (shared memory) Roll area (local) copy Work Process 1 ztta/roll_first ztta/roll_area Roll

Roll buffer (shared memory) Roll area (local) copy Work Process 1 ztta/roll_first ztta/roll_area Roll file (disk) Roll Buffer (shared) Roll (local) Work Process 2 rdisp/roll_SHM Roll In / Roll Out Roll file rdisp/roll_MAXFS

SAP Roll area parameters - ztta/roll_first : First amount of roll area used in

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

SAP Extended Memory Shared memory which mostly of user context stored All SAP work

SAP Extended Memory Shared memory which mostly of user context stored All SAP work process can edit stored user context directly Roll in rather only copied the address (pointer) of where a user context located on the SAP extended memory. makes roll process much faster em/initial_size_MB ztta/roll_extension

SAP Extended Memory main parameters : em/initial_size_MB : size of SAP extended memory allocated

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 Heap Memory Area which allocated variably as local memory as required. Released after

SAP Heap Memory Area which allocated variably as local memory as required. Released after a transaction is complete. SAP Heap Memory main parameters : abap/heap_area_dia : quotas oh SAP heap memory that a dialog process can allocated. abap/heap_area_nondia : quotas oh 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 Heap Memory (local) abap/heap_area_(non)dia abap/heap_area_total

Sequence in which memory is allocated (dialog work process) : User. Independent Data 1

Sequence in which memory is allocated (dialog work process) : User. Independent Data 1 2 User Context 3 4 Roll memory to zttz/roll_first zttz/roll_extension zttz/roll_area abap/heap_area_dia Copying data during context change Mapping the data during context change - Data stays in work process - No context switch possible - Work process in private mode

Sequence in which memory is allocated (non-dialog work process) : User. Independent Data 1

Sequence in which memory is allocated (non-dialog work process) : User. Independent Data 1 2 User Context 3 Roll memory to zttz/roll_area abap/heap_area_dia zttz/roll_extension Copying data during context change Mapping the data during context change - Data stays in work process - No context switch possible - Work process in private mode

SAP EG Memory and SAP Paging Memory Data can be stored globally between user

SAP EG Memory and SAP Paging Memory Data can be stored globally between user context SAP Extended Global Memory Used to store data across user context Allows fast & copy-free switching based on mapping. Substracted from SAP Extended Memory to calculate the remaining storage space configured using em/global_area_MB parameters

SAP Paging Memory Object that stored in the SAP Paging Memory : ABAP data

SAP Paging Memory Object that stored in the SAP Paging Memory : ABAP data cluster stored temporarily with ABAP statement IMPORT/EXPORT FROM/TO MEMORY Parameter transferred when programs and transaction called SUBMIT REPORT, CALL TRANSACTION, CALL DIALOG, CALL SCREEN, CALL FUNCTION IN UPDATE TASK, CALL FUNCTION BACKGROUND TASK, CALL FUNCTION STARTING NEW TASK Data extracts created by statement EXTRACT (up to basis 4. 5) SAP Paging Memory Main Parameters : rdisp/PG_MAXFS : Size of SAP Paging Memory rdisp/PG_SHM : Size of SAP Paging Buffer (shared memory) Error caused by SAP Paging Memory : TSV_TNEW_PG_CREATE_FAILED SYSTEM_NO_MORE_PAGING

Server Global Memory (shared memory) Local memory SAP buffers Additional local (contains e. g

Server Global Memory (shared memory) Local memory SAP buffers Additional local (contains e. g SAP Programs) heap memory (if required) SAP roll buffer Extended Memory SAP paging buffer (User Context) Local memory 1: 1 1: n SAP Roll File SAP Paging File Work Process

Configuring & Monitoring SAP Memory Areas Main Objective : Performance Stability Main Factors to

Configuring & Monitoring SAP Memory Areas Main Objective : Performance Stability Main Factors to be considered : Physical Main Memory (RAM) Swap space or paging file of the operating system Operating system restriction

Next points to be considered : • Total Main Memory Requirement • Number of

Next points to be considered : • Total Main Memory Requirement • Number of Computer • Several SAP instances per computer • SAP extended memory and roll buffer • Memory for SAP work process • Database Instance Zero administration memory magement : PHYS_MEMSIZE parameter defines how much of a computer’s total physical memory should be used for the SAP instance.

Address Space Restriction (Unix) em/initial_size_MB User Context User Independent WP Local abap/heap_area_(non_)dia SAP Roll

Address Space Restriction (Unix) em/initial_size_MB User Context User Independent WP Local abap/heap_area_(non_)dia SAP Roll SAP Extended Memory SAP Heap Memory Buffers Memory (Shared) (local) (Shared) Address Space SAP Work Process

Address Space Restriction (Windows) em/initial_size_MB SAP Extended Memory Total em/address_space_MB User Context User Independent

Address Space Restriction (Windows) em/initial_size_MB SAP Extended Memory Total em/address_space_MB User Context User Independent WP Local abap/heap_area_(non_)dia SAP Roll SAP Extended Memory SAP Heap Memory Buffers Memory (Shared) (local) (Shared) Address Space SAP Work Process

Assistance With Troubleshooting Error because of incorect memory area configuration : Operating System can

Assistance With Troubleshooting Error because of incorect memory area configuration : Operating System can not start because the operating system cannot provide the requsted memory area Session terminations User is logged off ABAP Program termination. Four error factors : Program errors (e. g endless loop) SAP Profile parameters are set incorectly The Swap Space on the operating system is not large enough Configuration parameters of the operating system are set incorectly or OS limits have been reached.

ABAP Program Termination : The memory of user context is used up : STORAGE_PARAMETERS_WRONG_SET,

ABAP Program Termination : The memory of user context is used up : STORAGE_PARAMETERS_WRONG_SET, SYSTEM_ROLL_IN_ERROR, TSV_TNEW_BLOCKS_NO_ROLL_MEMORY, TSV_TNEW_PAGE_ALLOC_FAILED, TSV_TNEW_INDEX_NO_ROLL_MEMORY System can not create the program buffer because there is not sufficient shared memory at that time PXA_NO_SHARED_MEMORY The Program encounters a memory bottleneck during an operation in the database interface DBIF_RTAB_NO_MEMORY, DBIF_RSQL_NO_MEMORY The Program encounters a memory bottleneck during sorting. EXSORT_NOT_ENOUGH_MEMORY Attemp to create error log fails after a terminated program due to lack of memory. RABAX_CALLING_RABAX The SAP paging memory is used up SYSTEM_NO_MORE_PAGING, TSV_TNEW_PAGE_ALLOC_FAILED The memory for SET/GET parameter (SPA/GPA memory) is used up. SET_PARAMETER_MEMORY_OVERFLOW Volume limit of memoy allocated to single call (ztta/max_memreq_MB) is set too low SYSTEM_NO_ROLL

- End of Presentation -

- End of Presentation -