cancel
Showing results for 
Search instead for 
Did you mean: 

Understanding Storage shared between work process

Former Member
0 Kudos

Hi guys,

I was just trying to understand the SAP memory management  and I think I don't really have good understanding of the SAP memory pools that we  can view via ST02 .

Under the Storage shared between work process section we have :

So what are these memory area ?  "Not in pool" seems to have almost 90% of configured SAP pool memory.

Not in Pool seems to be allocated (3.4G here) the moment the SAP instance is started.

Can you please explain the concept of the memory Pools in  the SAP? I have vague idea but I do not really understand this.

I think when we increase the  various SAP buffers (like program,scree,Export/import), we increase these pools...

Can you please help me link these pools with the four main memory areas of the SAP:

1. Roll

2.Extended

3.Page

4.Heap

or are they entirely different?

As you can see I badly need to tune my SAP buffer memory ! Before increasing these buffers I need to understand if we have sufficient memory left in the box.

regards,

Rakesh

Accepted Solutions (1)

Accepted Solutions (1)

Reagan
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Rakesh


So what are these memory area ?  "Not in pool" seems to have almost 90% of configured SAP pool memory.

Please start with this SAP note

1137734 - Assignment of memory areas, shared memories, and pools

Adjusting Pool Sizes (SAP Library - Monitoring in the CCMS)

Run the sappfpar against the instance profile and check the candidates in each pool

sappfpar check pf=/sapmnt/SID/SID_DVEBMGS00_hostname

As you can see I badly need to tune my SAP buffer memory !

Not really. If you look at the hit ratio of all the buffers all are above 99% except the Export/Import.

Swaps will always be there (based on my experience). I would consider increasing the buffers only if the hit ratio is bad.


Before increasing these buffers I need to understand if we have sufficient memory left in the box.

Check the memory available on the machine.

Check the memory assigned for ABAP (read the output of previously executed sappfpar command)

Check the memory assigned for the database.

If there are additional applications (SAP Java stack, SMD, etc) on the machine then check how much they are using.

Regards

RB

Former Member
0 Kudos

Thanks Reagan... your effort is much appreciated ! I would go through the note and SAP help for clear understanding of the SAP pool...

Regards,

Rakesh

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello back,

I have read few other posts and help.sap.com for more clarity on the memory management. I am getting the hang of it but I would like  you to explain this query.

I have just rebooted our LINUX box which has two application server each for CRM and R3.

However, I couldn't understand the current  memory  usage that is shown by free -,m command at OS level and the sum I get from the ST02 txn for each of the app servers.

see the scraancap  below:

Here at os level, used memory (all physical)is around 6GB and no SWAP memory:

This linux box has no other applications running other than two app servers as I mentioned.

And when I check the ST02 current memory in both the app server :

If we consider only extended memory , the sum of the current usage is about 4G+6.7G=10.7G

and I assume they are allocated using physical memory(Could be virtual=physical+SWAP) which clearly shows that far more than the current memory used shown at OS level , here around 6G...

So that's my confusion,would really appreciate if someone can help me understand this.

Regards,

Rakesh

Reagan
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Rakesh

From the free -m screenshot you have provided the memory used is 25894 and not 6245.

What I see you have 64458 MB memory on the machine and the used is 25894 MB and the free is 38563.

You should also take memory assigned for the database into account.

If there are other applications like SMD running then the memory will be used them too.

Also OS will use memory

Regards

RB

Former Member
0 Kudos

Thanks Reagan for your reply.

This linux box doesn't contain the database instance and also being the ABAP stack there is no memory allocated for java , also SMD is not there...so memory is utilized of course by the OS and the two application servers

As you have stated below in your answer


From the free -m screenshot you have provided the memory used is 25894 and not 6245.What I see you have 64458 MB memory on the machine and the used is 25894 MB and the free is 38563.

But the second line of the output of free -m contains the used memory (RAM) which says 6G of the memory is used and 58 G is free.

Whereas in the first line of the output says 25 GB of memory is used but this is the sum of used physical memory(6G) and the cached (19G) data which Linux uses to keep the data in RAM to enable  faster access and can be used by applications when needed.

This link also explains the free -m command :

Linux Check Memory Usage

My doubt wouldn't  have raised if I had considered the first line of the output as the current used  memory

Regards,

Rakesh

Reagan
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Rakesh

Thanks for the prompt reply.

I had to find a Linux machine where SAP is running to cross check what you said and it makes sense with the free -m output and I also happened to a discussion here as well.

linux - Meaning of the buffers/cache line in the output of free - Server Fault

If the values shown by Linux kernel is correct from the free -m command then the problem could be with the SAP kernel. Possibly SAP kernel is calculating the EM usage incorrectly. (Just guessing)

Even when I check the Memory Utilization section in Tx ST06 it is showing the free value shown under the Mem (which I've pointed out previously) and not the one under -/+ buffers/cache.

Whether this is due to a badly developed kernel or due to some limitation in the Linux kernel, I don't know. In that case I don't have an answer as to who or what values are correct here.


Regards

RB

Former Member
0 Kudos

Thanks again Reagan...you tried to answer my query...I will look further and I would definitely share if I get good explanation.

Regards

Rakesh

Former Member
0 Kudos

memory management is a very vast topic, I would suggest start with http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCSTMM/BCCSTMM.pdf

Former Member
0 Kudos

I know it's vast..that's why I tried to taken on Memory mamanegment piece by piece...so I asked  a very specific question regarding SAP pool...

Thanks  for the link anyways!

Regards,

Rakesh

Former Member
0 Kudos

I would suggest you to go the guide, this doc explain how memory management works in SAP and should clear your basic doubt.

Former Member
0 Kudos

Thanks Sunil..Though I have read this doc before but i guess I need to go over this doc many times  until I get all the bits together.. 🙂

Regards.

Rakesh

Former Member
0 Kudos

we can explain how the memory management work but you will not able to understand unless you have some basic or technical knowledge. This will make your life easy to understand and explain to someone what/why you are changing / adding parameters.

Former Member
0 Kudos

I bet you can explain...and I sure would ask many questions when I get my basics right...

Regards,

Rakesh

Former Member
0 Kudos

Oh yes! no worries... you can try...