5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
SAP Memory Management Document
In SAP the memory management system assigns memory to a work
process. Each Work Process has its own local memory to perform
functions. It contain ABAP Executable, Buffer for atabase !ransfer,
"ocal #oll area. !o optimi$e the performance of SAP Systems , it is
necessary to un%erstan% &emory &anagement in SAP
Definition of
Virtual
Memory' ( When system memory runs low, Application uses space
allocate% from the har% %isk %ri)e to act as #A&. !his is the *)irtual
memory.* !he maximum amount of allocate% space is usually e+ual to
half the amount of #A& installe%. !his gi)es the computer -percent
more memory to run applications.
Maximum virtual memory >= physical memory + operating system
swap space
If se)eral processes are to access the same
Definition of Shared Memory:-
memory area, both allocation steps are not transparent. ne ob/ect is
create% that represents the physical memory an% can be use% by
)arious
into the processes. !he processes
a%%ress space. can is
!he way this map the)aries
%one ob/ectfrom
fully platform
or partially
to
platform. &emory mappe% files, unname% mappe% files, an% share%
memory are use%.
R/3 Buffer'
(
#01 Buffer is the part of Exten%e% &emory. It is accessible to all the
work process of same application ser)er. #01Buffer contains global
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 1/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
ob/ects such as Programs, 2ustomi$ing !ables, etc. 3ollowing are the
Parameters for the same' (
abap/heap_area_dia'( efines the limit for the amount of local memory
allocate% to %ailog work processes.
abap/heap_area_nondia'(
efines the limit for the amount of local memory
allocate% to non(%ialog work processes.
abap/heap_area_total ' (
efines the limit for the total amount of heap
memory allocate% to all work processes.
Extended
Memory'(
Exten%e%
&emory
also
comes
un%er
Share%
&emory. It
maintains
1:n
relation
with work
processes.
Exten%e% &emory contains 4ser 2ontext ata. 3ollowing are the
Parameters for the same'(
ztta/roll_extension'( efines the user +uota for exten%e% memory
em/initial_size_MB'( efines the fixe% si$e of exten%e% memory
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 2/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
Heap
Memory'(
When your
Exten%e%
&emory is
full, Work
Process
start using
5eap
&emory
i.e.,
Pri)ate
&emory.
ther
processes cannot use Pri)ate 6heap7 memory. After releasing the
assigne% memory, the operating system still consi%ers the 6)irtual7
memory as being occupie% by the allocating process.
!he SAP system offers a mechanism that let you terminate non(acti)e
%ialog processes in the P#I8 mo%e. !his mechanism helps re%uce
performance problems.
abap/heaplimit (
!his )alue specifies the memory amount in bytes. When
this amount is excee%e%, a work process is restarte% after executing a
%ialog step.
Roll
Memory'(
When the
context of
a work
process
changes,
the %ata is
copie%
from the
roll area to
a common
resource
calle% the roll file. !o pre)ent repeate% copying, another roll buffer is
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 3/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
locate% in between that is part of the share% memory.
3ollowing are the Parameters for the same'(
ztta/roll_first '( efines the first part of the roll area that is allocate% to a
%ialog process
ztta/roll_area'( efines the total roll area per work process
zdisp/roll_SHM '( efines the si$e of the roll buffer.
rdisp/roll_MAXFS '( efines the si$e of roll buffer an% roll file.
ztta/roll_extension'( efines the user +uota for exten%e% memory
Paging
Memory'(
#01 Paging
&emory
contains
ABAP
b/ects
Extracts
an%
Exports.
3ollowing
are the
parameters for the same (
rdisp/PG_SHM '( Paging Buffer Si$e
rdisp/PG_MAXFS '( &aximum Si$e of the SAP Paging 3ile
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 4/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
5ere the
below fin%
the
complete
picture of
#01
&emory
System
point of
8iew.
R/3 memory
Allocation
User
ontext
Data! "
In an #01
System,
many
front(en% users are connecte% to one are more application ser)ers. !he
work that users re+uest from the system is performe% in work
processes. 9ormally, there are fewer work processes than front(en%
users.
A work process is %e%icate% to a front(en% user only while a specific
%ialog step is being processe% by the application ser)er. A user can be
%ispatche% to one work process in one %ialog step, an% to another
work process in the following %ialog step. )er the course of time,
users are %ispatche% to %ifferent work processes.
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 5/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
In the course of thier work in %ialog work processes, users accumulate
)arious pieces of %ata, such as pointers to programs they are using.
!his accumulate% %ata is calle% the *user context*. A user context
enables, for example, the material number you are working on to be
remembere% by the system an% propose% as the %efault in a following
transaction.
!he
mechanism known as a *roll out* ensures that when user : nee%s to
use the work process which has /ust been use% by user ;, the user
context %ata of user ; is not be lost or o)erwritten.
!he roll
out sa)es
the user
context
%ata for
the %ialog
user when
he or she
exits the
work
process.
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 6/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
Work
process ;
is
occupie%
by another
user.
When user
;, who was formerly working in work process ;, is therefore
%ispatche% to work process :, the user context %ata is copie% into work
process : by the mechanism known as a *roll in*. 4ser ; can thus
continue from where he or she stoppe% in the earlier work process.
!he %ata
processe%
in work
processes
is store%
in two
memory
areas'
• <
!he
roll
area,
in which user context %ata is store%. 4ser context %ata may inclu%e
pointers to acti)e programs, set0get parameters 6relate% to the
most recent input of the user7, authori$ations, internal tables, an%
report lists.
• < !he paging area, which stores the application program %ata
that correspon% to specific ABAP comman%s inclu%ing E=!#A2!,
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 7/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
I&P#! ! &E&#>, E=P#! 3#& &E&#>, an% 2A""
!#A9SA2!I9.
:. !he si$e of these areas is configurable using #01 profile
parameters.
1 Wher
e there
is
buffer
space
a)ailable, the roll area an% the paging area are hel% in the
respecti)e buffers in the application ser)ers. When there is not
sufficient buffer space, the roll area an% the paging area must be
store% in the respecti)e physical %isk files 6roll file an% paging file7.
2 !hus, the user %ata processe% in work processes is store% in two
areas'
• !he roll file an% its associate% buffer
• < !he page file an% its associate% buffer
• 4ser
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 8/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
contexts are not only store% in roll files an% the correspon%ing
buffers. As of #01 #elease 1.-, they are primarily store% in #01
exten%e% memory.
• In #01 exten%e% memory, a large area of memory share% by all
a)ailable work processes can be accesse% through pointers. 4sing
exten%e% memory as well as roll files thus re%uces the amount of
copying from roll areas that is re+uire% %uring user context
switches, an% a)oi%s the o)erhea% cause% by large roll(in or roll(out
tasks.
Note : -
3 In #01 memory management'
• Work processes ser)e a large number of fronten% users
• Each work process must be capable of loa%ing the user context
%ata for successi)e fronten% users
:. !he roll %ata an% paging %ata is copie% to the roll buffer an%
paging buffer an% the correspon%ing files when a user lea)es the work
process.
1. #01 exten%e% memory uses mapping instea% of copying an%
therefore allows'
• 3ast access to internal tables an% lists through pointers
• ?uick context switches
• 4sage of har%ware with large memory
• #e%uce% loa% on 2P4 an% %isk
@. #01 exten%e% memory re+uires sufficient physical memory
Allocation se#uence for dialog $or% processes
• !o
keep
the
usage
of the
roll
area to
a
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 9/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
minimum an% make more use of exten%e% memory, only a small
portion of the roll area is use% initially. !he si$e of this portion is set
by the parameter ztta/roll_first .
• 9ote' In%epen%ent of parameter ztta/roll_first , there is a minimum
amount of roll area that is always use%. 3or example, if ztta/roll_first
is set to ;, not /ust one byte is allocate%, but the minimum amount
re+uire% for a%ministrati)e %ata.
Exten%e% memory enables the %ata to be store% in your system, where
it is efficiently accesse% by pointers rather than by a copy process.
• !he exten%e% memory per user may )ary from ; &B to se)eral
;-- &B.
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 10/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
• !he user
+uota
%efines the
maximum
amount of
#01
exten%e%
memory
that can be
use% by any one user, an% is set with the parameter
$tta0rollextension.
• !he user +uota thus pre)ents one user from occupying all
a)ailable exten%e% memory.
•
• !he
remaining
portion of
#01 roll
memory is
use% when
the system
can no
longer
allocate #01
exten%e%
memory,
either because #01 exten%e% memory is full or because the +uota
has been reache%.
• !he
reason
for
using
the
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 11/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
remaining portion of #01 roll memory is to a)oi% using heap
memory, which is local memory, an% a)oi% entering P#I8 mo%e 6see
below7.
• If the work process re+uires still more space after using up all
a)ailable roll area an% exten%e% memory, the system is force% to
allocate #01 heap memory locally.
• 5ea
p
memory allocate% by one work process is not accessible to any
other work process. !his means that a user is unable to continue
the transaction in a %ifferent work process.
•
!he user
situation is now
is calle% effecti)ely
P#I8 mo%e. locke% to the work process. !his
• %ialo
g
process
that
was
force%
to
allocate
#01
heap
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 12/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
memory automatically enters P#I8 mo%e.
• While a user is in a transaction which cause% the work processes
to enter P#I8 mo%e, no other user can access the work process.
• Since #01 architecture uses a limite% number of work processes
to satisfy a larger number of fronten% users, other users suffer
when a user goes into P#I8 mo%e.
• If se)eral users go into P#I8 mo%e, they can work well, but other
users can har%ly work at all.
•
in ata
#01
roll
memory is copie% %uring context switch.
• ata in #01 exten%e% memory is mappe% %uring context switch.
• ata in #01 heap memory can ne)er lea)e the work process. If
heap memory is allocate%, the work process is exclusi)ely assigne%
to one user in P#I8 mo%e.
• 9ote' the se+uence in which memory is use% by work processes
is not %etermine% by the amount memory initially allocate%. !hus,
while the entire roll memory is allocate% on work process start, it is
not initially use% up completely.
Allocation Sequence for Dialog WPs - Summary
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 13/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
• !he memory allocation strategy for %ialog work processes aims
to pre)ent work processes from allocating #01 heap memory an%
thus entering P#I8 mo%e.
• When a work process enters P#I8 mo%e, it remains connecte% to
the user until the user en%s the transaction.
Allocation se#uence for non"dialog $or% processes
ata in #01 roll memory is copied %uring context switch.
ata in #01 exten%e% memory is mapped %uring context switch.
ata in #01 heap memory can ne)er lea)e the work process. If heap
memory is allocate%, the work process is exclusi)ely assigne% to one
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 14/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
user in P#I8 mo%e.
Note:the se+uence in which memory is use% by work processes is not
%etermine% by the amount memory initially allocate%. !hus, while the
entire roll memory is allocate% on work process start, it is not initially
use% up completely.
Random access memory &RAM' is physical memory that hol%s the
applications, %ocuments an% proce%ures on a computer. 8irtual
memory is a storage area that hol%s the files on your har% %ri)e for
retrie)al when a computer runs out of #A&
P(ysical Memory' ( Physical memory is the #A& chips purchase% an%
place% in a slot on the computer motherboar%. !he #A& is the first
memory use% when the computer re+uires memory usage, such as for
loa%ing an application or opening a %ocument.
)irtual Memory: -8irtual memory is store% on the har% %ri)e. 8irtual
memory is use% when the #A& is fille%. 8irtual memory is slower than
physical memory, so it can %ecrease the performance of applications.
P(ysical Memory Si*e' ( Physical memory is limite% to the si$e of the #A&
chips installe% in the computer. 8irtual memory is limite% by the si$e of
the har% %ri)e, so )irtual memory has the capability for more storage.
+(at ,s t(e )irtual Memory S$ap -ile.
#an%om access memory or #A& is a computers physical system
memory. !he physical memory is use% to run applications. When this
memory is o)ertaxe%, the computer relies on )irtual memory to help
run programs
)irtual Memory: -When system memory runs low, Win%ows uses space
allocate% from the har% %isk %ri)e to act as #A&. !his is the *)irtual
memory.* !he maximum amount of allocate% space is usually e+ual to
half the amount of #A& installe%. !his gi)es the computer - percent
more memory to run applications.
S$apping: - When #A& space becomes a)ailable, the memory
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 15/16
5/21/2018 SAP Me mor y Ma na ge me nt Doc ume nt - slide pdf.c om
management unit 6&&47 swaps the temporary files back into physical
memory files. !he act of mo)ing the files is known as *swapping* or
*paging.*
http://slide pdf.c om/re a de r/full/sa p-me mor y-ma na ge me nt-doc ume nt 16/16