sap memory management (an overview). sap memory management sap memory areas overview : - sap buffer...

23
SAP Memory Management (an Overview)

Upload: emilee-batcheller

Post on 30-Mar-2015

467 views

Category:

Documents


19 download

TRANSCRIPT

Page 1: SAP Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

SAP Memory Management (an Overview)

Page 2: SAP Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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

Page 16: SAP Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

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 Memory Management (an Overview). SAP Memory Management SAP Memory areas overview : - SAP Buffer - SAP Roll Memory - SAP Extended Memory - SAP Heap

- End of Presentation -