axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ramanathan, Subramanyam" <sramanat...@c-cor.com>
Subject Axis2 High memory usage, OutOfMemory exception
Date Thu, 25 May 2006 11:51:18 GMT
Hi, 

I have been trying out Axis 2.0 over the past week, with the configuration :
Axis2 version 1.0
Tomcat 5.5.17
jdk 1.5.0_04

I have tried using the sample "Axis2SampleDocLitService" that has been given. I generated
the stubs and skeletons using the wsdl provided with the axis2 distribution (samples/wsdl/Axis2SampleDocLit.wsdl)
,  as shown in the user guide, using the xmlbeans option for data binding.

I have a http client which I use to post the xml request to the server, and I got proper responses
when I tested it with the client.

However, I have noticed that when I pump requests at a rapid rate, the memory usage keeps
on increasing rapidly (checked using jmx console), in some cases ultimately leading to a jvm
crash with an OutOfMemory Exception.  This was occurring when default mx(which is 64M) was
used.

I also tried setting the JVM mx option to 128M (-Xmx128M)  and ran the test again. However,
the memory usage keeps increasing all the way till it reaches 128 Mb, too, where it again
crashes if I continue pumping further. 
If I stop pumping requests at around that time, and wait for around half an hour, I notice
that the memory usage begins to reduce, and slowly come back to the original value (10M approx.)
 upon forcing a GC. 

I have also deployed axis1 on the same tomcat installation, with the intention of comparing
performance. When I try the same test there, ie, pumping requests, I don't find any alarming
memory increase.

Why is so much memory being used, and why does it grow to fill however much memory is available
? Is it a memory leak, or is there any way I can limit the amount of memory being used ? The
memory usage does come down, but it takes a very long time for this. This would surely affect
the performance of any webservice I try to deploy with axis2, and it may even result in the
service being unavailable because of a crash.

Could you please help me out ?

Regards, 
Subramanyam

Mime
View raw message