sap memorymanagement

23
SAP Memory Management (an Overview)

Upload: roberto-santos

Post on 27-Apr-2015

279 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SAP memorymanagement

SAP Memory Management (an Overview)

Page 2: SAP memorymanagement

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

Page 3: SAP memorymanagement

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

Page 4: SAP memorymanagement

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

User Context

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.

Page 5: SAP memorymanagement

Pres. server SAP Application Sever DB Server

SA

P

GU

I

SAP Extended Memory

Dispatcher Queue SAP Roll

Memory

dis

patc

he

r

Table

buffer

Program

buffer

DDIC Buffer

Work Process

Work Process

Work Process

DB Process

DB Process

DB Process

Database

buffer

Process Flow

Page 6: SAP memorymanagement

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

Page 7: SAP memorymanagement

Roll file

Roll (local)

Roll Buffer (shared)

Roll In / Roll Out

rdisp/roll_SHM

rdisp/roll_MAXFS

ztta/roll_first

ztta/roll_area

Roll buffer (shared memory)

Roll area (local)

Roll file (disk)

Roll area (local)

Work Process1

Work Process2

copy copy

Page 8: SAP memorymanagement

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

Page 9: SAP memorymanagement

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

ztta/roll_extension

em/initial_size_MB

Page 10: SAP memorymanagement

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

Page 11: SAP memorymanagement

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

Page 12: SAP memorymanagement

Sequence in which memory is allocated (dialog work process) :

User-Independent

Data Roll memory to

zttz/roll_first

Roll memory to

zttz/roll_extension

Roll memory to

zttz/roll_area

Roll memory to

abap/heap_area_dia

1 2 3 4User Context

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

Page 13: SAP memorymanagement

User-Independent

Data Roll memory to

zttz/roll_extension

Roll memory to

zttz/roll_area

Roll memory to

abap/heap_area_dia

1 2 3User Context

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) :

Page 14: SAP memorymanagement

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

Page 15: SAP memorymanagement

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 calledSUBMIT 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

Page 16: SAP memorymanagement

SAP paging buffer

SAP buffers

(contains e.g SAP Programs)

Extended Memory

(User Context)

Server

SAP roll buffer

Global Memory (shared memory) Local memory

Additional local

heap memory (if required)

Local

memory

Local

memory

Local

memory

SAP Roll File

SAP Paging File Work

Process

Work

Process

Work

Process

1 : n1 : 1

Page 17: SAP memorymanagement

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

Page 18: SAP memorymanagement

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.

Page 19: SAP memorymanagement

User Independent

WP

Local

SAP

Buffers

(Shared)

User Context

Roll

Memory

(Shared)

SAP Extended Memory

(Shared)

SAP Heap Memory

(local)

em/initial_size_MB abap/heap_area_(non_)dia

Address Space

SAP Work Process

Address Space Restriction (Unix)

Page 20: SAP memorymanagement

User Independent

WP

Local

SAP

Buffers

(Shared)

User Context

Roll

Memory

(Shared)

SAP Extended Memory

(Shared)

SAP Heap Memory

(local)

em/address_space_MB abap/heap_area_(non_)dia

Address Space

SAP Work Process

SAP Extended Memory Total

em/initial_size_MB

Address Space Restriction (Windows)

Page 21: SAP memorymanagement

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.

Page 22: SAP memorymanagement

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_PAGE_ALLOC_FAILED,

TSV_TNEW_INDEX_NO_ROLL_MEMORY

System can not create the program buffer because there is not 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

Page 23: SAP memorymanagement

- End of Presentation -