cancel
Showing results for 
Search instead for 
Did you mean: 

Heap Memory Parameters!!

satish_juluri
Explorer
0 Kudos

Hello,

I understand from all SAP performance optimization guides etc that for non dialog work process the following is the memory allocation sequence

1.Roll memory

2.Heap Memory

3.Extended Memory.

With the above sequence does it mean all non dialogue work process use heap memory upto the limit of heap_area_nondia not exceeding heap area total before using extended memory.

If the above sequence is true any suggestion on how do you setup the heap are non dia parameter since each non dialog process uses heap memory before using  extended memory.

thanks

satish

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello Satish

you can also maintain quota for individual dia or non dia wp if you run program rsmemory.

Sometimes you will not be able to use your heap memory properly if you don't adjust this setting as per you background job need.

THanks Raj

isaias_freitas
Advisor
Advisor
0 Kudos

Hello Satish,

Your understanding seems correct.

Each non-dialog work process will start using heap memory up to heap_area_nondia before start using Extended Memory.

The heap_area_total is the limit of heap memory that the entire instance can use (all work processes - dialog and non-dialog - together).

About the memory setup, it depends on your system needs (many jobs running in parallel, many of them consuming a lot of memory) and resources (physical memory on the server).

Regards,

Isaías

satish_juluri
Explorer
0 Kudos

Thanks for the reply.

Currently we have 4 GB for Dialog and 4 gb for non dialog and total Heap memory is 4 GB(i planning to increase total heap) .I am noticing most of the time heap gets full since the background work process is consuming the entire heap memory leaving dialog work process (in case if required) any heap memory.

Do  you setup heap area for dia and non dia as same ?I am thinking Non dia heap memory can be set as less like in my case may be 1 or 2 GB so that way all non dia process can utilize the heap memory and use extended in case if heap memory is full.This also gives chance to any dialog work process if heap memory is required since for dialog process terminates if heap memory is not availabe after exhausting allocated extended memory.

thanks

satish

isaias_freitas
Advisor
Advisor
0 Kudos

Hello Satish,

Ideally, dialog work processes should use only Extended Memory.

This allows the dialog processes to perform "roll out" and "roll in" operations. enabling the dialog processes to handle more tasks in parallel (e.g., when a dialog process has to wait for the next interaction from the user, it can "roll out" and take another task; when the user performs the next action, any free dialog can "roll in" the session and resume the processing).

If a dialog work process uses heap, then it enters the "PRIV" mode and it will not be able to perform a "roll out".

Non-dialog work processes would usually run for a long time (e.g., job) and they never perform a "roll out". Thus, if they use extended memory there will be less EM for dialog users (and for a long time), which will cause dialog processes to use heap and enter in PRIV mode, which could introduce performance issues.

This is why (usually, this can be changed) non-dialog processes start using heap instead of EM.

Regards,

Isaías

satish_juluri
Explorer
0 Kudos

I totally agree with you ..Thanks for the details.

Regards

Satish

isaias_freitas
Advisor
Advisor
0 Kudos

You're welcome!

Of course, the memory setup depends on your server resources (physical memory) and how you want the system to behave...

If the server has enough memory, you could setup the system to use only EM...

Regards,

Isaías

satish_juluri
Explorer
0 Kudos

Thanks for all the information.final question in St02 i see for EM there are 3 values like EM allocated ,em used and em available.Out total EM size is 32 GB which is equal to EM available.Any idea on EM allocated and EM used are calculated.

Last question

isaias_freitas
Advisor
Advisor
0 Kudos

If you let the mouse on top of the column name, a "hint" is shown .

Once physical memory was allocated to the EM, SAP does not give this memory back to the operating system when it is "free".

SAP manages the EM on its own, marking which blocks are in use or free.

"EM allocated" is how much memory of the EM was actually in use (not marked as free).

"EM used" is how much EM was actually allocated at OS level.

Reagan
Advisor
Advisor
0 Kudos

The above sequence is not same for all the systems. There are exceptions to this and it is platform specific. In case if your system is running on AIX then you should follow the parameter recommendations for AIX.