You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by lu...@ecb.int on 2004/02/23 09:40:54 UTC

Axis 1.1 Memory leaks

Hi,
I have succesfully deployed a web service which main function is to exchange small/medium files between two Axis instances.
I'm using wsdl/wsdd generation and everything work smooth (a part from some known workarounded Axis problems).
Last week we did some heavy testing on the web service and we discovered that we cannot send documents bigger than 1.5Mb.
Axis fails with a OutOfMemory exception. I looked around on this mailing list and I found some solutions to this issue, such as increasing
the memory heap of Tomcat (starting Tomcat with JAVA_OPTIONS=-server -Xms128m -Xmx256m). Using this trick, I managed to send bigger documents, but
obviously it's a fragile workaround.
I would like to know if you guys have a better solution to this memory leaks problem. I was thinking, for example, to try the 1.2 Beta Version, but before doing this I want to be sure that there are no better solutions for 1.1 version.
PS.
I'm not using SAAJ.

Luciano




Any e-mail message from the European Central Bank (ECB) is sent in good faith but shall neither be binding nor construed as constituting a commitment by the ECB except where provided for in a written agreement.
This e-mail is intended only for the use of the recipient(s) named above. Any unauthorised disclosure, use or dissemination, either in whole or in part, is prohibited.
If you have received this e-mail in error, please notify the sender immediately via e-mail and delete this e-mail from your system.



Re: Axis 1.1 Memory leaks

Posted by Nelson Minar <ne...@monkey.org>.
>Last week we did some heavy testing on the web service and we
>discovered that we cannot send documents bigger than 1.5Mb. Axis
>fails with a OutOfMemory exception.

How are you encoding the file you're sending? Is it some sort of SOAP
attachment, or is it an element in the query?

Your most direct fix is to increase JVM memory, as you found via the
-Xmx flag. 32 megs is just not a lot of heap.


I've noticed Axis is not terribly memory efficient - using 20 megs of
RAM to handle 1 meg of data seems about typical. Things got a lot
better when I configured Axis to not send xsi:type data when
generating messages. I don't know if that made Axis in general more
efficient, or it was just the fact that the XML is smaller.

The title of your message is "memory leaks", but your experience is
really about memory inefficiency. Do you also have evidence of an
actual memory leak, something where memory is not returned after the
call is over?


PS - I've noticed that axis-user has about 95% questions and 5%
answers. That's too bad! I'm going to try answering questions I know
the answers to, maybe others can as well? I bet there's a market for
Axis consultants out there :-)