Skip to Content
Author's profile photo Matthew Shaw

Should I “Enable Memory Analysis” on a Web Intelligence Processing Server?

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)

Assigned Tags

      15 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Stephen Folan
      Stephen Folan

      Great Matt, thanks.

      Author's profile photo Rick Kruyf
      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.

      Author's profile photo Matthew Shaw
      Matthew Shaw
      Blog 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

      Author's profile photo Halil Duman
      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

      Author's profile photo Matthew Shaw
      Matthew Shaw
      Blog 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

      Author's profile photo Former Member
      Former Member

      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.

      Author's profile photo Matthew Shaw
      Matthew Shaw
      Blog 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

      Author's profile photo Former Member
      Former Member

      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.

      Author's profile photo Matthew Shaw
      Matthew Shaw
      Blog 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

       

      Author's profile photo Jonathan Haun
      Jonathan Haun

      Based on recent experiences with 4.2 SP4, I am finding that disabling the memory analysis setting has resulted in the WIP PID consuming all of the RAM on the system (140 GB on each node in this case). Once all of active RAM has been consumed the OS begins paging and eventually the WIP PID and other APS PID start crashing because they could not allocate any more RAM. The particular client I am working with has about 300 active Webi users generating about 30 sanctimonious requests during business hours. Some of the more complex reports are 250K - 1M records and use 5-10 GB RAM each.

      The memory analysis was the only way to limit the number of active sessions within each PID and to avoid using all the available RAM on the system. Memory is not unlimited on servers so it seams to me that in some cases we still need to use this setting when users are creating large complex reports. We also had to reduce the number of connection from 200 to 30 for each WIP. If we had more than 50 users sessions in a single WIP, it would stop responding and memory would balloon.

      Overview of WIP Settings that helped resolve the issue:

      1. 16 Total Instances of WIP
      2. 4 x processing server nodes with 140 GB each. Nodes also hosted the Webi APS services.
      3. 30 Connections Max each WIP instance
      4. Memory Analysis Enabled (4096 / 16384 / 20480)
      5. Idle Document Timeout (300 seconds)
      6. Max Document and Timeout before Recycle (50 / 1200)

       

      Author's profile photo Matthew Shaw
      Matthew Shaw
      Blog Post Author

      Great contribution Jonathan.

      Thank you very much for sharing this insight. I'm sure other customers will find this very useful.

      I'm pleased you found the right buttons to press and leavers to pull to find a solution that works for you.

       

      Author's profile photo Srinivas Reddy
      Srinivas Reddy

      Hi Friends,

      We are at BI 4.2 SP4 with 2 nodes (6 CPU & 44 RAM). We want to cross check on the recommendations are still valid..?

      1. 6 WIPS Services for each node (total 12 WIPS)
      2. 2 DFS Services and provided 8 GB for each node
      3. 2 DSL Bridge services and provided 8 GB for each node
      4. Enable Memory Analysis
      5. set the Maximum Connections at 200
      6. configure Output Cache Directory for WebIPS on local disk
      7. Increased the “Maximum Document Cache Size” from 1,000,000 KG(1GB) to 5,242,880 KG (5GB).
      8. Increased the “Cache Timeout” from 4320 (3 days) to 11520 (8 days).
      Author's profile photo Denis Konovalov
      Denis Konovalov

      why are you cross posting same question in multiple blogs, instead of asking once in Questions and Answers with Webi tag ?

       

      Author's profile photo Srinivas Reddy
      Srinivas Reddy

      Hi Denis,

      Thanks for the quick response. Here we have 2 posts on webi performance with quite opposite suggestions..

      We made the configuration settings as I mentioned, and requesting experts to review and suggest best..

      Please suggest best from my configurations.

      Thanks,

      Srinivas

       

       

      Author's profile photo Denis Konovalov
      Denis Konovalov

       

      <moderator hat on>
      You made 2 identical posts under 2 different blog posts. Please use Questions and Answers instead to post such complex queries.
      <moderator hat off>

      As to your question - you're giving us the specs and incomplete details of how your environment is configured. We have no idea what load, usage patterns, report designs and data amounts your users are going to consume.
      Do you truly expect someone to give a good answer ?