On Wed, Nov 6, 2013 at 1:43 AM, Muhammad Ali Orakzai <m.orak...@gmail.com>wrote:

>
> I am using the following environment
>
> Windows Server 2003 32 bit
>

How much RAM? Also, did you configure your virtual memory (or paging file)
settings?


> Apache Tomcat 7.0.27
>

Others on the list will/may recommend you to upgrade to a newer version of
Tomcat 7.0.x for security fixes/updates and bug fixes, but should not be
necessary to fix this issue of yours.


> We have created a SOAP based web service which is calling 2 external SOAP
> services. We were getting OutOfMemoryError which was resloved by making the
> service object static.


interesting.

are you recycling or releasing memory to GC, or are you caching (or never
releasing) data from your app... every time you call 2 external SOAP
services?

i think you may need to refactor your code/app to release memory at some
point, if it's not doing that already.

at your earliest convenience, read this post below:

How to Fix Memory Leaks in Java[1]

Now whenever the server memory reaches 100% one of
> the external service response is too slow (takes about 2-3 minutes).
>

okay.


> Restarting tomcat resolves the issue but this issue is occurring 25-26
> hours interval.
>

i can definitely understand that this is not acceptable.


>
>  I am using the following jvm settings
>
> -XX:MaxPermSize=100m
> -XX:+UseConcMarkSweepGC
> -XX:+CMSClassUnloadingEnabled
>

In my app, I use the following:

-Xms1024m
-Xmx1024m
-XX:MaxPermSize=384m
-XX:+UseTLAB
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled

there are strategies on how to use -Xms and -Xmx to improve performance
(and/or prevent out of memory error). you may want to research that a bit.


[1] http://java.dzone.com/news/how-fix-memory-leaks-java

Reply via email to