Help with memory issue - abap memory vs roll area

Hi experts,
with our customer we are using TRM and WebDynpro technology to process Tax forms. We have portal integration. Recently due to performance reasons we were forced to analyze memory consumption and actually we are unable to understand what is happening. In memory inspector we can see much higher total memory than for ABAP total.
For Example, running simple application for form bundle search will produce following memory consumptions:
We do not understand why the Total section is + 12 MB when all ABAP code is just 7 MB?
Another example - opening of a form bundle (FB) leads to cca 32 MB consumption (no matter what type of FB we are opening). Visiting all pages of FB leads to 52 MBs (specific FB, this depends on FB type). Again, when we invoke memory inspector a lot of memory is in Roll Area.
This look like roll area is almost always twice as big as the actual ABAP Application.
Please any suggestions what is happening?
May be just the misunderstanding of roll area. To our knowledge roll area is the area of the internal session managed by memory manager (usually mostly created by extended memory). But why is this area so large when the actual application needs half of the space?
Some discussion suggests that this is due many dead objects released when memory inspector is started. But why is this space still available to the application and not put back to the extended pool? Is there any way how to identify those dead objects?
Thanks a lot

Hi, ORA-4031 in this case can be caused by unrestricted growth of the PGA, thus forcefully reducing the SGA.
We've had this in the past also.
The solution is in older versions to increase the shared_pool_size as you mentioned but with ASMM, this is no longer an option. You can however retrict the growth of the PGA by setting SGA_TARGET.
On our system this now looks like:
SQL> show parameter _target
NAME                                 TYPE                 VALUE
db_flashback_retention_target        integer              1440
memory_max_target                    big integer          10G
memory_target                        big integer          10G
pga_aggregate_target                 big integer          0
sga_target                           big integer          8GSee how we in fact set the max growth of the PGA to 2Gb ( 10Gb - 8Gb)
Try this and see if ot works for you also
Success!!
FJFranken

Similar Messages

  • Hi Friends ....Difference between SAP memory and ABAP memory

    Hi Friends,
    I faced a interview and they ask this question
    What is the difference between SAP Memory and ABAP memory..

    conti
    SAP Memory
    SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement.
    Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens.
    ABAP Memory
    ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory. If control is then returned to the program which made the initial call, the same process operates in reverse.
    A simple example of ABAP memory is using the EXPORT/IMPORT statements.
    Here in this program, I get the data, export it to memory,
    clear out the internal table in my progam, then reimport the data into it and write out the data.
    You probably wounldn't do this in a normal program,
    but this is how you can pass data from program a to program b when A Submits program B.
    report zxy_0002 .
    data: it001 type table of t001 with header line.
    select * into table it001 from t001.
    export it001 = it001 to memory id 'ZXY_TEST'.
    clear it001. refresh it001.
    import it001 = it001 from memory id 'ZXY_TEST'.
    loop at it001.
    write:/ it001-bukrs, it001-butxt.
    endloop.
    SAP Memory
    SAP memory is a memory area to which all main sessions within a SAPgui have access.
    You can use SAP memory either to pass data from one program to another within a session,
    or to pass data from one session to another.
    Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters).
    These parameters can be set either for a particular user
    or for a particular program using the SET PARAMETER statement.
    Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement.
    The most frequent use of SPA/GPA parameters is to fill input fields on screens
    ABAP/4 Memory
    ABAP memory is a memory area that all ABAP programs within the same internal session can access
    using the EXPORT and IMPORT statements.
    Data within this area remains intact during a whole sequence of program calls. To pass data
    to a program which you are calling,
    the data needs to be placed in ABAP memory before the call is made.
    The internal session of the called program then replaces that of the calling program.
    The program called can then read from the ABAP memory.
    If control is then returned to the program which made the initial call, the same process operates in reverse.
    SAP memory
    The SAP memory, otherwise known as the global memory,
    is available to a user during the entire duration of a terminal session.
    Its contents are retained across transaction boundaries as well as external and internal sessions.
    The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
    ABAP/4 memory
    The contents of the ABAP/4 memory are retained only during the lifetime of an external session
    (see also Organization of Modularization Units).
    You can retain or pass data across internal sessions.
    The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
    ABAP Memmory & SAP Memmory
    http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Set
    http://www.geocities.com/SiliconValley/Campus/6345/set_para.htm
    GET
    http://www.geocities.com/SiliconValley/Campus/6345/get_para.htm
    EXPORT
    http://www.geocities.com/SiliconValley/Campus/6345/export01.htm
    Other Imp Help
    http://www.geocities.com/SiliconValley/Campus/6345/abapindx.htm

  • Hi All,Can any provide an example for SAP MEMORY AND ABAP memory

    Hi All,
          Can any provide me an example for SAP MEMORY AND ABAP memory.
    thanks&regards.
    Bharat.

    HI Bharat
    A simple example of ABAP memory is using the EXPORT/IMPORT statements.
    Here in this program, I get the data, export it to memory,
    clear out the internal table in my progam, then reimport the data into it and write out the data.
    You probably wounldn't do this in a normal program,
    but this is how you can pass data from program a to program b when A Submits program B.
    report zxy_0002 .
    data: it001 type table of t001 with header line.
    select * into table it001 from t001.
    export it001 = it001 to memory id 'ZXY_TEST'.
    clear it001. refresh it001.
    import it001 = it001 from memory id 'ZXY_TEST'.
    loop at it001.
    write:/ it001-bukrs, it001-butxt.
    endloop.
    SAP Memory
    SAP memory is a memory area to which all main sessions within a SAPgui have access.
    You can use SAP memory either to pass data from one program to another within a session,
    or to pass data from one session to another.
    Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters).
    These parameters can be set either for a particular user
    or for a particular program using the SET PARAMETER statement.
    Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement.
    The most frequent use of SPA/GPA parameters is to fill input fields on screens
    ABAP/4 Memory
    ABAP memory is a memory area that all ABAP programs within the same internal session can access
    using the EXPORT and IMPORT statements.
    Data within this area remains intact during a whole sequence of program calls. To pass data
    to a program which you are calling,
    the data needs to be placed in ABAP memory before the call is made.
    The internal session of the called program then replaces that of the calling program.
    The program called can then read from the ABAP memory.
    If control is then returned to the program which made the initial call, the same process operates in reverse.
    SAP memory
    The SAP memory, otherwise known as the global memory,
    is available to a user during the entire duration of a terminal session.
    Its contents are retained across transaction boundaries as well as external and internal sessions.
    The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
    ABAP/4 memory
    The contents of the ABAP/4 memory are retained only during the lifetime of an external session
    (see also Organization of Modularization Units).
    You can retain or pass data across internal sessions.
    The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
    ABAP Memmory & SAP Memmory
    http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Set
    http://www.geocities.com/SiliconValley/Campus/6345/set_para.htm
    GET
    http://www.geocities.com/SiliconValley/Campus/6345/get_para.htm
    EXPORT
    http://www.geocities.com/SiliconValley/Campus/6345/export01.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3bc4358411d1829f0000e829fbfe/frameset.htm
    Other Imp Help
    http://www.geocities.com/SiliconValley/Campus/6345/abapindx.htm
    Regards Rk

  • Examples for SAP Memory and ABAP Memory

    Hi all,
        can u give me one example of sap memory and abap memory.
                                              Ranjith

    Hi,
    <b>SAP Memory</b>
    SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program at the time of logon using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens .
    <b>example:</b>
    ABAP programs can access the parameters using the SET PARAMETER and GET PARAMETERstatements.
    To fill one, use:
    SET PARAMETER ID pid FIELD f
    This statement saves the contents of field f under the ID pid in the SAP memory. The ID pid can be up to 20 characters long. If there was already a value stored under pid, this statement overwrites it. If you double-click pid in the ABAP Editor, parameters that do not exist can be created as a Repository object.
    To read an SPA/GPA parameter, use:
    GET PARAMETER ID pid FIELD f.
    This statement places the value stored under the pid ID into the variable f. If the system does not find any value for pid in the SAP memory, sy-subrc is set to 4. Otherwise, it sets the value to 0.
    <b>ABAP Memory</b>
    ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this memory area remains throughout a sequence of program calls, with the exception of LEAVE TO TRANSACTION. To pass data to a program that you are calling, the data needs to be placed in ABAP memory before the call is made from the internal calling session using the EXPORT statement. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory using the IMPORT statement. If control is then returned to the program that made the initial call, the same procedure operates in reverse.If a transaction is called using LEAVE TO TRANSACTION, the ABAP memory and the call stack are deleted. They cannot be used for data transfer.
    Since objects belonging to ABAP objects can only be accessed within an internal session, it does not make sense and is therefore forbidden (from a syntax point of view) to pass a reference to an object to a calling program through the ABAP memory.
    <b>Example:</b>
    Export hello to memory id 'Hello_world'.
    Import hello from memory id 'Hello_world'
    Regards
    Sudheer

  • HT1365 Hi can anyone help with this issue regarding my wireless magic mouse? When im on google chrome and scrolling down the page i always have youtube running in the background but the audio cuts/spits/pops can anyone help me with this?

    Hi can anyone help with this issue regarding my wireless magic mouse? When im on google chrome and scrolling down the page i always have youtube running in the background but the audio cuts/spits/pops can anyone help me with this?

    The figures you mention only make sense on your intranet.  Are you still using the same wireless router.  The verizon one is somewhat limited as far as max wireless-n performace.  For one thing it only has a 2.4 radio.   I like many people who wanted wireless-n performance before they even added a wireless-n gigabit router, have my own handling my wireless-n network.

  • Since updating to FF 8 I can no longer use Multirow book marks, can anyone help with this issue?

    Since updating to FF 8 I can no longer use Multi-row book marks, can anyone help with this issue? the one I used is here http://multirowbookmarkstoolbar.com/

    Try the support site:
    *http://multirowbookmarkstoolbar.com/forum
    *Multirow Bookmarks Toolbar Plus: https://addons.mozilla.org/firefox/addon/multirow-bookmarks-toolbarplus/

  • Re: Firefox no longer works with Mac OS X 10.5, will upgrading to Lion, OS X 10.7, help with this issue?

    I cannot upgrade my Mac to Mountain Lion, OS X 10.8 and cannot buy a new Mac so will upgrading from
    OS X 10.5 to OS X 10.7 help with this issue?

    If you are going tob e upgrading to 10.7 you should be able to just upgrade, and then install future updates of Firefox with no problem.

  • Can anyone help with this issue.... intermittent sound from apple tv

    Can anyone help with this issue?..watched the trailer of a movie with sound, then downloaded and went to watch it, but no sound and this message was displayed:"an incompatible audio signal has ben received.check the output device" tv is a sharp aquos

    I don't know if this will help but have you tried switching the audio output to 16-bit? On the AppleTV, click Settings, Audio & Video, Audio Output. The two choices are "auto" and "16-bit". Good luck!

  • Is there a phone number I can call to talk to a live person about help with Lightroom issues ?

    Is there a phone number I can call to talk to a live person about help with Lightroom issues ?

    well the reason I wanted to talk to someone live because it would take forever to explain everything on here But anyway, here goes. I have an HP Pavilion Notebook with Intel Core i5-323om CPU @2.60 GHz and 8 gb ram 64bit. I am trying to run Lightroom 5.7 on my laptop and having major issues. I use an external hard drive for the storage of my photos. When I try to use Lightroom I run into many issues: Flickering of the screen, freezing up, slow, the loading circle just goes round and round lol. If I go to the washroom or leave the computer for even a minute it freezes up. I have to keep pressing Ctr/alt/delete to bring it back when it flickers. I have to constantly exit out of the program and restart it to be able to edit even just a couple of photos and then it starts acting up again.
    I have tried un-installing and re-installing, updating everything on my pc, changing compatibility settings, updating development settings, I even took the laptop into have it looked at and they did all kinds of updates etc...and still couldn't figure out why it wasn't working for me. I have gone through the lists of troubleshooting for LR problems and there just seem to be nothing that works.....I have made new catalogues, moved them, tried using the software on my pc without the EHD, etc etc.......I have tried EVERYTHING...I think.....so I was looking for some answers as to why this is happening....

  • Updated 3GS to new operating system and a week later all music and ringtones disappeared and will not let me put them back on phone.  Can anyone help with this issue?

    Can some one help with these issues?  Thanks.

    Try assigning Queen as the Album Artist on the compilations in iTunes on your computer.

  • Can anyone help with an out of memory error on CS2?

    Hello,
    I have been battling with an out of memory error on a dell laptop running 2gb of ram. I have had no prior issues with this laptop running CS2 until last week when I started getting the out of memory errors. I have seen several articles about this occuring on later versions of illustrator. Just prior to this issue appearing I had to delete and rebuild the main user profile on the computer due to it consistently logging into a temporary account.
    Once the new profile was established and all user documents and profile settings were transferred back into it, this problem started showing up. The error occurs when clicking on files listed as Illustrator files, and when opening the illustrator suite. Once I click on the out of memory error it still continues to load illustrator. The files are located on a server and not on the remote computer. I have tried to copy the files to the local hard drive with the same result when I try to open them. I also tried to change the extension to .pdf and got no further. I tried to open a file and recreate the work and all I got was the black outline of the fonts. none of the other artwork appeared. once rebuilt, when trying to save, It gives the out of memory error and does not save the file.
    Illustrator was installed on another dell laptop, same model, etc and works fine. no problem accessing network files. I just attempted to use Illustrator from the admin profile on the machine in question and it works fine and lightening fast. Just not from the new rebuilt profile. I have tried to uninstall and reinstall the software. it has not helped. could there be stray configuration settings that we transfered over to the new profile that should not have been?
    Any insights will be helpful.
    Thank You,
    Brad Yeutter

    Here are some steps that could help you:
    http://kb2.adobe.com/cps/320/320782.html
    http://kb2.adobe.com/cps/401/kb401053.html
    I hope this helps!

  • Help with inline processing for Memory Optimization

    Hello all.  I have an embedded PXI system who's sole purpose is to gather digital data.  I've been tasked to see just how much data we can gather on our PXI-8106 Real-Time controller before we run out of our 2GB memory.
    The digital data is being captured by a PXI FGPA card and being DMA'd up to the Real-Time process running on the controller.  The storage for the data on the controller uses a functional global that is pre-allocated before the test begins to maintain determinism and prevent jitter.  Each 32-bit digital word that the FGPA captures has a 32-bit word-counter and a 32-bit timestamp attached to it prior to being sent up through the DMA channel.   Once the test is complete, the large "compressed data" array is then de-interlaced into three seperate arrays (word count, data, timetag) and wrapped up in a cluster; this is where I see a problem.  After I reformat the compressed data to its 'cluster of arrays', I have now doubled the amount of allocated memory when I really don't need the 'compressed data' array any longer.  I was hoping somebody could offer me some help on how I can inline this conversion prior to storing the data such that only the final format of the data is left in memory, cutting my memory needs in half and thus doubling the amount of data I can gather.  We are stuck with using LabVIEW 8.2 so I don't think we have any access to some fancy memory deallocation VI's that i've read about.
    Here is the functional global used to store the "compressed data" that we get back everytime we do a DMA Read.  This functional global has three methods: clear data, add data, and read data.
    Here is the data conversion VI that converts the compressed data into its final form; ready to be TCP'd up to the host computer.  This VI is passed the "CD array" from the "Read Data" case of the functional global above.
    Thanks in advanced for your help.

    SiegeX wrote:
    Ravens Fan wrote:
    Do you really need a cluster of 3 arrays as your end result data structure.  Why not just go with the 3 arrays?
    Rather than a cluster of 3 arrays, why not make it a 1-D array of the cluster?
    The final output decision of a cluster of 3 arrays was made long ago (3 years IIRC).  Immedaitly after the de-interlacing, this cluster isflattened to a string and then sent to the host PC via TCP/IP.  Wrapping the arrays in a cluster made this very easy to do.  At this point, this format is unfortunately set in stone for all intents and purposes as it would require a rewrite of some upstream API's in released code that expects it.  To go down this path, I would have to prove that changing the output format would be the only way to fix this memory copy problem.  I don't believe this is the case, is it?
    Why not do all of your deinterlacing inside your functional global variable to create whatever final data structure makes the most sense.  That way you only maintain one copy of the final large data structure rather than a copy of the original, a copy of the final, and copies of the intermediate data structures?
    On the way home I was thinking about possible solutions and that is one I thought of and wrote down to test tomorrow.  Just to be sure we are on the same page I was thinking on altering the "Read Data" case by tapping off the compressed data wire to the de-interlacing VI and then using a cluster indicator as output from the SubVI.  I'm hoping this would prevent the double copy.  
    If not, my other idea was to de-interlace at the very beginning of the functional global, before it even enters the case structure.  I would have to maintain 3 seperate arrays, each 1/3 the size of the current compressed data array and then in the "read data" case I would simply wrap up the 3 arrays in a cluster.  
    I hope one of these two ideas does the trick, otherwise I'm at a loss on how to do this and still keep a cluster of arrays as the output data structure.
    That may help along with taking the next steps of putting the logic that converts and transmits the cluster in that state playing "Chase the dots" as you go.
    Another approach is to convert the AE over to use the final cluster format and take advantage of the in-place operators (were they available in 8.2?, I think).
    Have fun,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Help with Neo2 + 4x512MB HyperX Memory

    I am having trouble getting correct timings to work with the Kingston HyperX memory on the MSI K8N Neo2 board.  My system is in my sig. I have an AMD64 3200 Venice so I read that I should be able to get top performance with my memory.  At first I couldn't get the memory speed above 166MHz.  I knew I could over clock and get the memory speed up but as my sig says I am using 3 of my SATA ports right now so I can't overclock until I can get rid of one the drives because of the lack of speed locks on SATA1 and 2.  So I went and downloaded the latest BIOS (I was on 1.8 and I installed 1.B).  After installing that bios my memory speed went up to 200mhz.  I went into the cell menu and set the timings to 2-3-2-6-2 and my system appears stable (aka, doesn't hang or crash during boot... havn't done stress tests yet).  However, I want to to 1T timing instead of 2T. 
    When I was using the 1.8 bios and tried to set the timing to 1T the computer would just beep on boot and I would have to reset the CMOS in order to get a display again.  With the 1.B bios I can set it to 1T but I get BSOD's during windows boot.  The two BSODs I keep getting are "IRQ_NOT_LESS_OR_EQUAL" and "PFN_LIST_CORRUPT" with the 1T memory timing.  Like I said, on 2T with 2-3-2-6 it appears to work fine without extensive testing but I read that 2T vs 1T is like a 30% performance hit.  I tried some of the timings I could dig up on these forums, like 2.5-3-3-6 but to no avail.
    Any insight on how I can get the timing to 1T?
    Thanks

    syntax53,
    If you are looking to overclock some PC-4000 Options are:
    mushkin eXtreme Performance 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 500 (PC 4000) Dual Channel Kit System Memory $290
    mushkin eXtreme Performance 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 500 (PC 4000) Dual Channel Kit System Memory $215 after MIR
    OCZ Platinum Edition 2GB (2 x 1GB) 184-Pin DDR SDRAM Unbuffered DDR 500 (PC 4000) Dual Channel Kit System Memory $200 after MIR
    Take Care,
    Richard

  • Memory Issue - Inactive Memory?

    Been having an out of memory issue with Capture One Pro. When i have the Activity Monitor open I can watch the "Inactive Memory" slowly climb higher. It starts out when i first boot at about 170 mb - currently at 351 mb and climbing, and all i have running is firefox and Itunes.
    At first i thought it was a C1 Pro issue, but it seems that may not be the case.
    When i opened the Activity monitor last night the Inactive Memory was at 10 gigabytes. ***?
    What is Inactive memory? and why would it keep climbing?
    Is this an issue with OSX that anyone has heard?
    All software is current.
    Hardware Overview:
    Model Name: Mac Pro
    Model Identifier: MacPro5,1
    Processor Name: Quad-Core Intel Xeon
    Processor Speed: 2.8 GHz
    Number Of Processors: 1
    Total Number Of Cores: 4
    L2 Cache (per core): 256 KB
    L3 Cache: 8 MB
    Memory: 12 GB
    Processor Interconnect Speed: 4.8 GT/s
    Boot ROM Version: MP51.007F.B03
    SMC Version (system): 1.39f11
    SMC Version (processor tray): 1.39f11

    Eric Eskam wrote:
    Sounds like a classic memory leak.
    I'm sorry, but you could not be more wrong.  As explained above, Inactive memory is in effect a filesystem cache. So OS X is caching files in RAM as they are being written to disk by Capture One Pro - this is so that if they are re-read, they do not need to be re-read from disk which is slower.  OS X uses this cache only when it's not needed  by other programs.
    The inactive memory is increasing here, because Capture One Pro is constantly writing to disk. OS X is then thinking "I have all this RAM that's not being used, how about I keep a copy of what's being written to disk in this spare RAM for speed?" .. make sense?
    If Capture One Pro had a memory leak, that would be visible within wired/active memory, and the process itself would grow in size.
    In fact, the more inactive memory your machine is consuming, the better.
    Free RAM is wasted RAM.

  • Is there a number I can call to help with my issue? I would like to speak with a real person!

    I am not having any luck resolving my issue and i need tech support. Is there a number I can call?

    Of course there is, if you are using a current version of Photoshop,  If you are on CS5 or earlier, you are out of luck.
    Only Adobe customer service can assist you with your issue. These are user forums; you are not addressing Adobe here.
    Click on the link below, and after that click on "Still need Help? Contact us."
    Then on the next page, click Chat
    There is also a phone option.  Brace yourself for a looooong wait and for trying to decipher strong East Indians accents.
    http://helpx.adobe.com/contact.html?step=PHXS_downloading-installing-setting-up_licensing- activation

Maybe you are looking for