Enable Memory Analysis.png

It was always best practice to leave the feature ‘Enable Memory Analysis‘ turned on, as this enabled a number of mechanisms to kick in and reduce memory consumption. I described some of them in a reply to an SCN post

However, with Web Intelligence now sitting on a 64 bit architecture the product no longer has a 2 GB limit of memory to run within and so these mechanisms are likely to be unnecessary. This assumes you have enough RAM on your server!

Our development team have been busy testing the use of the product with this feature disabled. Rigorous testing identified a defect in a third party ‘dll’ on the Windows Platform. Non-Windows was ok. With that issue now fixed in BI 4.1 Support Pack 7 it’s now time to switch our Best Practice recommendation.

From SAP BusinessObjects Business Intelligence 4.1 Support Pack 7 onward and BI 4.2 onward, we are now saying de-select ‘Enable Memory Analysis’

If you are using an earlier version, on the Windows Platform, then you should leave this feature enabled to prevent a possible crash of the Web Intelligence Processing Server.

What’s the benefit? Quite simply, performance. You should experience an improved performance as the product will not need to garbage collect as often, this sometimes ‘freezes’ the product.

Enjoy to the new power of Web Intelligence, but please just make sure you have enough RAM and monitor the memory usage of your server. If your server runs of RAM it will start to use swap and that will slow things down.

If you have limited RAM and you find your server is using swap, you may need to keep this enabled. Feel free to increase the Lower/Upper and Maximum Thresholds, but my advice would be to keep the ‘ratios’ between these values the same. Don’t set them all to the same value in other words. You’ll want to allow the memory recovery mechanisms to kick in one at a time.

Feel free to comment to this blog with your experiences of disabling this feature and provide SAP and other customers feedback.

Regards, Matthew (Twitter: @MattShaw_on_BI)

To report this post you need to login first.

9 Comments

You must be Logged on to comment or reply to a post.

  1. Rick Kruyf

    Matt, what would the impact in a clustered system of turning this off and having 4 reports submitted (2 to each processing tier in the cluster).  These two reports alone could consume 6 – 10 GB of RAM each which would severely impact the other users.

    (0) 
    1. Matthew Shaw Post author

      Hello Rick

      The impact in a clustered system of turning this off

      Generally your users should experience an improvement with regard to performance and your servers should be using a bit more RAM.

      and having 4 reports submitted (2 to each processing tier in the cluster).  These two reports alone could consume 6 – 10 GB of RAM each which would severely impact the other users

      A few thoughts come to mind:

      • I guess disabling this feature may not have much of an impact on the performance, but it depends on what the users are doing and their workflow. Some of the mechanisms that recover the memory require the user to have opened multiple documents (multiple tabs in the same session) and in many cases, they don’t. Others users do do this. Read the SCN post I mentioned above and you can start to understand when the memory mechanisms will kick in, they require a good number of conditions.
      • I would say, disable it, perhaps on just 1 WIPS and monitor it. If ok, after a month or so, then disable it on another and keep going. Read my blog on the webiadmintool and use that to do some analysis if you want to understand more about what’s going on inside. People like me can really only guess at what might or might not happen and I think you’ll be best to just give it a go and see, for your configuration, your users, your documents etc. In general we’ve not seen any adverse issue with disabling it, but there must be a situation where it is. Remember this ‘feature’ was only brought into the product for a 32 bit architecture and to keep the memory from reaching 2 GB. It was a workaround then. We’re no longer constrained by this and so time to let the system rip and let it consume what it wants to.

      Hope this helps, Matthew

      (0) 
  2. Halil Duman

    Hi Matthew,

    Thanks for the post.

    You mentioned in your article that “Rigorous testing identified a defect in a third party ‘dll’ on the Windows Platform. Non-Windows was ok“. Does it mean we can disable memory analysis on a UNIX system as well?

    Best,

    Halil

    (0) 
    1. Matthew Shaw Post author

      Hello Halil, Yes, feel free to disable this on your UNIX system. As usual monitor the system after your change to see what that change affects and let your users know as they may give you some insight you can’t observe. They should give you positive feedback! Post back here what your experience is so others can learn. Regards, Matthew

      (0) 
  3. Bharath Reddy

    Hello matthew,

    We have migrated from 3.1 to 4.2 and we have windows 2012 R2,4.2 SP2 on clustered environment with 4 application servers and two webapplications(tomcat) servers 32GB of ram on all servers 30GB paging drive on all servers.On each application server we have 3webiprocessing servers,on daily basis on non business hours around two thousand reports run output as .wid,.xlxs etc.the option is enabled with same configuration mentioned above on all the webiprocessing servers for 2 months on parallel run we didnt get any issues but a week back we went live and 2days back on two appication servers SIA is stopped when we checked in the event viewer it says warning as windows sucessfully diagnosied a low virtual memory condition on those two servers WIReportserver.exe alone consumed more than 32GB when we killed the WIReportserver.exe the SIA started but on one server the webiprocessing server didnt start it shows failed state for some hours later when we tried it has started.yesterday everthing went fine without issues.Please advive that we can de-select ‘Enable Memory Analysis’ on all our webiprocessing servers or do we need to have more RAM or more paging drive.I have read in windows forum for SAP products its recomended to have paging drive 3x times the ram.

    (0) 
  4. Matthew Shaw Post author

    Hello Bharath, based on what you’ve mentioned I would think that de-selecting ‘Enable Memory Analysis’ is going to create more problems for you, since the servers are more likely to use more RAM and your Operating Systems have already reported low virtual memory, So it seems to be, based on what you’ve said, you need a LOT more physical RAM in your server (and/or remove other processes on the server to free up RAM).  You need to monitor the usage of your paging file, as soon as your Operating System reads/writes to the paging file you can forget about performance!  I believe Windows does like a large page file specified, even if you never use it.

    One option, before you install more RAM, is to drop the memory threshold values from whatever they are set at the moment, or set them back to the default. Hope this helps, Matthew

    (1) 
  5. Bharath Reddy

    Hello Matthew Shaw,

    Thanks for your suggestion,I will try to decrease the memory threshold values and try to remove other applications/processes which are no more useful on the server if both don’t work and if we face similar issue in future I will increase the RAM,before than could you please explain is it the normal behaviour at times of WIReportserver.exe alone consumed more than 32GB as our server support raised a concern that it may be a memory leak.By Increasing the RAM do it helps to overcome this problem so that it doesnt come in future.Because if all SIA stops,it is a diaster as all our scheduled reports fail to run please let me know if its a case of physical RAM issue so that i will forward it to our DSD team.

    (0) 
    1. Matthew Shaw Post author

      Hello Bharath,  It is normal for the WIReportServer.exe to conume more than 32 GB of RAM?  I wouldn’t say its that normal, but I’m sure it happens and frequently and when it does this doesn’t mean there’s a memory leak at all. It all depends what you’re asking the product to do and what ‘memory threshold’ setting you have set, and if memory analysis is enabled or not.

      If you’re asking it to retrieve millions of rows of data, generate XLS PDF of massive WID documents then, sure the memory could well go over 32 GB.  To test for a memory leak you’re starting point is https://blogs.sap.com/2014/10/29/looking-inside-the-web-intelligence-servers-with-webi-admin-tool/ and search that blog and its related wiki page for the words ‘memory’ and ‘memory leak’. You’ll find the webiadmintool will provide a huge amount of insight into what’s going on. Regards, Matthew

       

      (0) 

Leave a Reply