Web Intelligence Hangs, Allocate More Memory to Java

Myth: Business Objects XI Web Intelligence Requires No Software Install

Business Objects IX’s Web Intelligence is a light client. You may think that it does not require you to install anything on your PC, but then you would be wrong. Firstly, obviously WebI requires that your PC have a browser. Secondly, Web Intelligence Java Report Panel requires that your client PC has a Java Runtime Environment (JRE) installation (1.5 and 1.6 are good to go).

Third, your client will need to download the WebI Java Report Panel application (in the form of temporary Internet files stored usually in your JRE installation folder). If you ever dump these (for example, as discussed in the article “Clearing the Browser and Java Cache: Do This First!“) then you will notice that your subsequent visit to the Java Report Panel (create new or modify a document) will result in a longer load time while your web client downloads the BO WebI java application.

Java Runtime Environment Installs with a Wimpy Configuration

By default I believe that the default Sun JRE’s will almost always install themselves with a very conservative (small) heap/memory consumption size. These settings can be managed on your client PC by going to “Control Panel” and double-clicking on “Java”. Once there click on the “Java” tab and then click on the “View…” button:

Java Control Panel Parameters

Java Control Panel Parameters


In here, you may have multiple JRE version installed as I do. I think you can figure out which one is being used by your WebI Java Report Panel by clicking on the toolbar icon when you are running the WebI JRP. Otherwise, you will have to disable some and see what happens, process of elimination. When you find the correct one you will see the memory configurations in the “Runtime Parameters” column.
blank space

Web Intelligence Power User? Put Your Memory Where Your Mouth Is

Once you know which one to tweak and you focus on the “Runtime Parameters” you will see that there is an “Xms” and an “Xmx” parameter here. “Xms” is the minimum starting size of the heap or memory allocated to the process. “Xmx” is the maximum or limit of the heap/memory allocation. A good starting point here is: -Xms128m -Xmx256m, but you can go higher if you feel you and your PC are up for it. This link points to a great article on the topic of mistakes to avoid when configuring these parameters. Most importantly, always include “m” or “g” at the end of the number, never exceed your machines physical memory, and I read some where else that the effective limit here is 1 gigabyte on Windows XP/Vista (-Xms1g -Xmx1g). Sun has a good guide on this topic too(link).

Making the Change

I would first back-up your current settings, email them to yourself or something like that. Make the change and follow the syntax. Change the setting(s), then click “OK”, then click “Apply” then click “View” to confirm your changes were saved. If you do not click “Apply” and you click “View” right after clicking OK your changes will be wiped out. Of course, you should probably not be using your JRE while making these changes, or at least close everything down and restart your WebI Java Report Panel after the changes are made. I don’t think rebooting your PC is necessary. Be sure to test your changes by launching Web Intelligence Java Report Panel and keep your eye on your system’s memory to see the impact there while testing your wonderful WebI skills to test the potential improvements you just made.

Why Would I Do This?

I have seen this change both improve performance and stability of the Business Objects XI WebI client machine. Truthfully, many support engineers recommend this change anytime a user reports that WebI is hanging or sluggish. I recommend increasing these settings. Now, I wonder if by increasing them I can reliably run to Java Report Panel sessions at the same time. Hmm… I wonder.

Enjoyed this post? Share it!

 

23 thoughts on “Web Intelligence Hangs, Allocate More Memory to Java

  1. Thanks for the great Java tips.

    One little question. I am still using XIr2 (SP4), although I have XI3.1 on our development VM domain for testing.

    Looking at my local Java console I am using 1.6.0.10. I know there’s later version of Java ready for me to download. But I just wondered if having these 1.6.x Java editions will have any repercussions on my XIr2 platform? In other words, given that XIr2 was originally bundled with 1.4.x and officially supports 1.5.x and early version of 1.6.x, will having any more recent versions of 1.6.x make XI more or less stable? Should I advise all my XI users not to automatically download any further versions after say 1.6.10 for example?

    Hope I’m making sense here. To be fair, 1.6.10 seems perfectly okay to me, but sometimes just like with XI fix packs, they can cause more problems than they actually fix!

    Cheers šŸ™‚

  2. Hey, we are experiencing strange problem. when we export report to excel it comes blank only date is coming. It was working fine. Do you think its the java issues.

  3. The Excel file is produced on the server side, so any Java problems impacting the file output would have to be from the server side, not the client.

  4. Maybe I’m just not getting the idea…

    I am assuming that we are supposed to make the settings changes on the CLIENT from inside the Java app (entered from the Java icon in Control Panel). I have updated the client to the latest java (due to the security flaw just discovered about April 14th). Running the Control Panel app, there is a slightly different layout for the JVM information, and although I can double-click into the Runtime Parameters, the changes made do not apply. If I click OK and then go back into the JAVA settings, the parameter field is blank again.

    Any thoughts?

  5. I wonder if the user trying to edit the settings needs to be an Administrator on the PC. Anyway, I looked back at my own settings and I noticed that the interface is not entirely intuitive. You must follow this workflow:
    Change the setting(s), then click “OK”, then click “Apply”, then click “View” to confirm that your changes were saved. If you do not click “Apply” and you click “View” right after clicking OK your changes will be wiped out. (note: I added these details to the original article as well)
    Everyone is familiar with having to click “Apply” to apply changes, but most of us know that clicking “OK” usually negates the need for it. The fact that clicking “View” wipes out everything that was not applied is the counter-intuitive part.

  6. I dont see the Runtime Parameters in my control panel. Is see all other columns. Is there something I need to do to see this column ?

  7. Hi Ben F, all that come to mind is that maybe you can click in a cell and then press the right arrow key and scroll over to the right to see it. I have never not seen it. Is it possible you are running a very old version of Java?

  8. Thanks for the response Julian….. clicking a cell and using the arrow did not work. I’m on version 1.5.0_07. I wonder if it has been locked down in my corporate environment. I do have Admin rights to my machine though. Any thoughts ?

  9. Hi Julian,

    We have two Universes with several Prompts..When ever we are using any of these prompts in a Webi Report and run the query, the LOV’s are getting refreshed automatically…and they are taking about 4-5 Minutes to appear..We never faced this issue with these Universes before..It used to take a maximum of 30 secs for the LOV’s to Pull up..They are fine when we are using Deski..What might be the cause?? We are using XIR2..

  10. Hi Chris, LOVs based on objects are controlled at the object level (properties) in the universe. One option is to force an LOV to always refresh. It is possible that previously this option was set to not automatically refresh the LOV and now someone changed it. Additionally, LOVs are populated by SQL statements and those SQL statements could suddenly have reduced performance if the table data or indexes they are based on changes.

  11. Hello Julian,

    Thanks for the reply..However, I want to shed some more light on the issue..I did check the object properties and the auto refresh option is unchecked..The second opinion you had was that of change in table data or indexes..even in that case, the LOV’ should take time to appear only the first time..from the second instance they should retrive these values from the FRS where they are stored..this is not happening..instead, whenever we try to run a report with a prompt, its hitting the database to get the LOV’s instead of getting the values from FRS..This happens as soon as we click on run query..and this is happening only with selected Universes…not all of them..I have checked the FRS location and the LOV file does exist for the object in question…

  12. Hi Chris, it sounds like a cached copy of the universe and/or LOV on the server(s) might be causing your troubles. If you could delete the cache on all effected servers you might resolve the issue. Additionally you might be able to make a small change to the universe and see if that forces the server(s) to flush out their cached copy.

  13. Hei…We are using BO on SAP BW. We are caing some performance issues in Xcelcius wherein a BEx query that takes 5 seconds to execute in BEx is taking around a minute to execute in Xcelcius. The number of rows are about 500. When we did an analysis at Xcelcius side its seen that the actual data retrieval time is only 5 to 10 seconds..

    Any pointers on where its taking the rest of the time.. Can it be the issue of a wrong java version.. if yes at server side or clent side??? If you are aware about the recommended java versions then that will also help..

  14. I have never really played with Xcelcius enough to have hit its limits; so I don’t have much advice on this. One thing occurs to me though, I have noticed on my Web Application Servers that are running BO Java applications that I get a good performance improvement (especially with logins) when I list the CMS servers in the Web Application Server’s hosts file. This is actually a common tweak that BO admins use, because of Java’s poor implementation of DNS look-up. I wonder if there is some way a similar addition to your hosts file would improve your performance.

  15. Julian,

    Can you expand on the last comment? I would love to know more about it, as common tweaks should be… common? I have never seen that tweak mentioned anywhere.

    Currently, we host everything on one server (yeah, I know). Should we enter the server’s name and IP in the hosts file as if it were on a separate machine? Using Tomcat for the app server, that would affect pretty much everthing that gets served up (logins, screen renders, WebI, Web Services…)

    I’m all for speeding things up. What aspects would this affect? WebI/C Reports/LOV/???

    Do you know of any consolidated source of “common tweaks”? I usually find one there here, one thing there… which means, you only know about the things that you might be researching if you’re noticing problems. Not knowing about Java having a poor implementation for DNS look-up, we might never have touched on that for our BOXI issues.

  16. Hi!
    My server have 8GB of memory

    Iā€™m using
    java version ā€œ1.4.2_08?
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
    Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)

    with :
    -Xmx2048m -Xms1024m -XX:MaxPermSize=512m

    but y get:

    Error occurred during initialization of VM
    Could not reserve enough space for object heap

    do you have any idea?

  17. Hi Abel, what exactly are you doing when you get this error?

    BTW, I recommend setting Xmx and Xms to the same value. Things run just a bit better when you do.

  18. Hi to all

    Just had a call from BO Support,

    As I wanted to make sure 100% updating to latest java 6 will not cause any issue and is it supported by BO

    The Chap, said that Java 6_update 10 is supported in BO XI R2 SP4 & Above and XI R3 minimum requirement for java is also JAVA 6_update 10

    So who are using BO XI R3, will need to install Java 6_update 10 in order to benefit from best of both worlds.

    This java 6_update 10 is supported plus BO will not lose any functionality

Leave a comment

Your email address will not be published. Required fields are marked *