cancel
Showing results for 
Search instead for 
Did you mean: 

All about Program Buffer

siva123
Participant
0 Kudos

Dear Experts,

We have some serious issues in our ECC production system after the EHP 7 upgrade. When Managers does approval from Portal through Workflow it gives PXA NOO FRE SPACE short dump at the backend. I read many PXA related Snotes but could not find anything useful to resolve this issue . finally decided to patch the kernel version and increase the ABAP Program buffer parameter size. Before doing that, we decided to oreplicate the issue in a Development system and started the stress testing in the Development environment.

Before starting the Testing,, I restarted SAP to clear the Program buffer then started with the testing. While monitoring the system, I started noticing that  the Program buffer gradually gets occupied and the free space gets reduced and finally got the PXA error  as expected. what I would like to know is that, when a transaction/program utilizes the R/3 Program buffer...will it clear the buffer once the activity is over or it will remain in the buffer until the next system restart? if this will remain in the buffer, there is no use in increasing the ABAP program buffer. because, the buffer will again get full and we will facethe same error within a couple of days/weeks.  

I even tried to search if there is a program to clear the buffer periodically but I could not find anything of that sort (i am aware of this /$PXA but I don't think it is a recommended way to clear the buffer).so my question here is , how the program buffer works and how it flushes the memory?? when a program runs in foreground and found no space in Program buffer, will it utilize the SWAP or it will give PXA error ?? what happens or what should happen when the program completes it execution?? the Utilized memory will get cleared automatically so that the next program will be able use the memory?

It will be of great help if someone can throw some light and help me understand this

my system configuration is

RAM - 16GB, 2 Core CPU, ABAP buffer size is 800MB

looking forward to see some useful inputs

thanks,

ASK

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Here in ST02 of your screen, not only program buffer but other buffers also has high swaps (red in swap column)

Hence I suggest you to increase the parameter values to have better utilization of the buffers.

GO through the link that I gave before  and also you could find enough information from google, sap

notes etc.


Also the below link give different buffers and their relevances.

http://help.sap.com/saphelp_470/helpdata/en/c4/3a6e16505211d189550000e829fbbd/content.htm

Regards,

Nikhil

Answers (6)

Answers (6)

Former Member
0 Kudos

ST02 of my system for your reference. Meanwhile mine was a fresh EHP7 installation and not an upgrade.

Regards,

Nikhil

siva123
Participant
0 Kudos

thanks for sharing the ST02 screen. it looks your PXA is 3 GB. can you please  tell me the size of your physical memory?

siva123
Participant
0 Kudos

Hi Everyone,

Finally, SAP Development team has confessed that the PXA issue is due to the Kernel release 741 and the only possible solution to this issue is to increase the Program buffer. The ABAP compiler in the release 741 seems to be loading unusual size of data while running some ABAP Programs. also, the corrected ABAP compiler is available only with the 742 kernel and it will be available only during 2nd quarter, 2015. (Imagine how happy we will be after reading all these ) we got this response from SAP after increasing the program buffer by 10% twice! the current value is 960000 KB.

Now, may I ask all the experts in this forum to help me understand the following things?

1.   Immediately after restarting the SAP service, I have noticed, 40% utilization of the Program buffer in ST02. is there a way to find out what are the programs that loads in to Program buffer immediately after the restart?

2. is there a tcode or tool which can clearly tell us the ABAP load of current system in the PXA area? I can see the list of buffed objects in ST02 but what can I do with that? even in ST02, it says only the 'number' of Objects swapped, not the 'size' of the swapped objects!!

3. is it possible to analyze a program as to how much will it load in to PXA while running? This will be useful to analyze all the custom programs and give recommendation to improve the quality of custom programs in terms of memory management

4. I am very much interested to know how the outside world manages their systems with the 741 kernel!!

Thanks,

ASK

Former Member
0 Kudos

Hi,

Good to hear your details on what SAP said on SAP kernel but did they told this is for any specific patch of 741 kernel as I have 741 patch 11 and didn't feel performance issue.

Now coming to queries,

1 & 2.   ST02 -> program buffer -> PXA buffer technincal

            will give you loaded program with time and size details

I'm not sure how to answer the 3rd question but for 4th one, currently I'm having 741 patch 11 and I couldn't find any noticeable performance issue

Also expecting more on SAP feed back on 741 kernel and next improvements on the kernel patch

Regards,

Nikhil

siva123
Participant
0 Kudos

Thanks for answering my questions. I did check the PXA technical
buffer. but did not believe that it will help understand the Program buffer usage. but I will check once again.

SAP has said that the issue is with 741 release and it is specific to some programs and function groups. also they have said, there are no 741 kernel patch released to resolve this issue for computability reason ( even I was waiting to hear "please upgrade your kernel from 741 31 to 741 50/100. but that did not happen ) . however, 742 is downward compatible. When 742 is available we should be able to upgrade in the current landscape.

I am glad to know that you are also in kernel 741 and very happy to hear that you don't face any issue. can you please share your current parameter setting and the Physical memory details with me ? it will be very helpful to understand our situation in a even better way. also it will be great if you can share RSPARAM, if possible. also please let me know when was the EHP 7 upgrade done in your system

thanks,

ASK

Former Member
0 Kudos

HI,

Also check the below links

http://soumen.wordpress.com/performance-tuning-of-sap-another-experiance/5-st02-another-magic-transa...

http://www.sap-perf.ca/run-sap-st02-memory-monitor/

Also make sure when double clicking the buffer, to check where the red is coming - size or directory entries and decide the parameter to be changed accordingly

Regards,

Nikhil

siva123
Participant
0 Kudos

Hi Nikhil,

Thanks for the inputs given so far.

I went through all the suggestions but could not find anything useful to my issue. it will be of great help if you can explain how the Program buffer actually works?/

thanks,

ASK

Former Member
0 Kudos

Hi,

yes, PXA  dumps related to program buffer.

Although the ST02 hit ration of all buffers shows 99% the buffers doesn't look good. You can easily see this by red marks under swaps and swaps are very high in relation to DB access.

Hence I suggest you to fine tune the buffers by increasing the buffer parameters and monitor the system for some days.

Double click any buffer and check the parameter and value by clicking current parameter and set the values according in rz10.

Regards,

Nikhil

Former Member
0 Kudos

Hi,

Have you checked SAP notes given in my previous post. Also ST02 screen pls

Regards,

Nikhil

siva123
Participant
0 Kudos

Hi Nikhil,

I thought the PXA error is somethng specific to Program Buffer area. do you think i should consider the other buffers as well to resolve the PXA error?

here is the ST02 screen from both the app server

Thanks,

ASK

siva123
Participant
0 Kudos

Also, it will be great if someone can let me know the use of "PXA Buffer Technical" from ST02. This does not seems to be chnaging even after the restart of SAP. not sure how this will be useful

Thanks,

ASK

Former Member
0 Kudos

I believe as far as your hit ratio is 99 % you are ok

free space error can also occur incase of Full table space -

check free space in your table space

xymanuel
Active Participant
0 Kudos

Hi Ask,

generally the buffers are a technic to reduce latency. The different buffers allows the netweaver to keep data in RAM. This means it must not longer do a database call to get the relevant information.

This is far faster.

For example the Table T000 where the client is stored. If you do not have a tablebuffer (NTAB) the netweaver always have to do a Select * from T000 where client = 000.

This would be very painfull because you only need a little information and the responsetime is "slow" (e.g. 2ms for this select). A buffered T000 will answer a select on this table from the tablebuffer which is stored in RAM of the appserver.

The same happens for ABAP coding, which means program code.

The code of every program can be bufferd to prevent the netweaver to re-read it from the DB.
This code is stored in the programmbuffer.

Special case for the programmbuffer is, you will never get a programmbuffer which is big enough to hold all programs. Becuase of that you always will have little swaps on this buffer. A swap means, some cached code is moved out of the buffer because it is to "small". This is nothing serious because if you try to start this code again, the netweaver have to reread the code from the DB and store it in the buffer. But if this is happening during you programm is running, you will receive a PXA dump.

800 MB is to small for the standard netweaver today. increase it to a minimum of 1.2 GB. (Maximum free entries is not the limiting factor here)

For example you can see our buffer has 1,5 GB but is swapping.

The buffer has 20.000 to 40.000 swaps a day. This is the upper limit, which means i have to think about a bigger buffer to keep system stable and performance good.

I also recommend you to increase the other buffers to avoid swapping.

But be aware, if your appserver is on the same server as you DB you must be carfull to prevent the system from swapping (memoryovercommit). This will slow down everything.

Question for yourself, RAM is extrem cheap today. A 2 way HP blade with 2 CPUs, sum 24 cores and 512 GB RAM costs about 30k$. This system is able to host approx. 10 SAP Appservers which means a VM with 51GB RAM is about 3k$ (if RAM is spreaded even).

Buy more RAM for 2000$ and don't think hours after hours how to distribute 16GB RAM for a business critical system.... (my laptop even contains 8GB, and yours?)

Regards

Manuel

siva123
Participant
0 Kudos

Many thanks for your input and advise!! much appreciated. I did try to imcrease the Program buff param by 10 % but still getting the same dump.

it will be really helpful if anyone in this forum can share their experience if they have recently upgrade their system to EHP 7 with Kernel 741_31? just thinking if this is something related to Kernel SP 31. but dont have a proper evidence/error to prove that this is due to the recent Kernel

Can you also tell me if there is a way to check what all programs consumed the Program memory ?? is it something doable from ST03n?? if yes, can you please direct me?

thanks,

ASK

Former Member
0 Kudos

Hi,

Please paste ST02 screen.

WHat is your SAP version + kernel version

Check if you have enough space in server level also and swap space too.

Check the below notes :

0000702728  - program buffer


0001267828 - Exp/imp buffer


Regards,

Nikhil

siva123
Participant
0 Kudos

Hi nikhil,

SAP is at EHP 7 sp 4 . kernel is 741. Sp 31

thanks