Sunteți pe pagina 1din 23

SAP Memory

Management (an
Overview)
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 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 & 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
buffer

Program
SAP Extended
Memory buffer Databas
DDIC
e
SAP

Buffer
GUI

buffer
Dispatcher
Queue
SAP Roll
Memory
Work Process DB Process
dispatche

Work Process DB Process

Work Process DB Process


r
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 Roll area
(local) (local)
copy copy
Work
Work
Process2
Process1 Roll file (disk)

rdisp/roll_SHM
ztta/roll_first Roll Buffer (shared)
Roll Roll In /
(local) Roll Out

ztta/roll_area
Roll file rdisp/roll_MAXFS
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 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 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 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

abap/heap_area_(non)dia
Heap
Memory
(local)
abap/heap_area_total
Sequence in which memory is allocated (dialog work process) :

User Context
1 2 3 4
User-
Independent
Data Roll memory to Roll memory to Roll memory to Roll memory to
zttz/roll_first zttz/roll_extension zttz/roll_area abap/heap_area_dia

Copying data - Data stays in work process


during context Mapping the data during
change context change - No context switch possible
- Work process in private mode
Sequence in which memory is allocated (non-dialog work process) :

User Context
1 2 3
User-
Independent
Data Roll memory to Roll memory to Roll memory to
zttz/roll_area abap/heap_area_dia zttz/roll_extension

Mapping the data during


context change
Copying data
during context - Data stays in work process
change
- No context switch possible
- Work process in private mode
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 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 SAP Programs) heap memory (if required)
SAP roll buffer

Extended Memory
SAP paging Local Local Local
(User Context)
buffer
memory memory memory

1:1
1:n
SAP Roll File
Work Work Work
SAP Paging File
Process Process Process
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 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 abap/heap_area_(non_)dia

User Independent User Context


SAP Roll SAP Extended Memory SAP Heap Memory
WP
Buffers Memory (Shared) (local)
Local
(Shared) (Shared)

Address Space

SAP Work
Process
Address Space Restriction (Windows)

em/initial_size_MB

SAP Extended Memory Total

em/address_space_MB abap/heap_area_(non_)dia

User Independent User Context


SAP Roll SAP Extended Memory SAP Heap Memory
WP
Buffers Memory (Shared) (local)
Local
(Shared) (Shared)

Address Space

SAP Work
Process
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, 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
- End of Presentation -

S-ar putea să vă placă și