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