> From: Henjo [mailto:henj...@gmail.com]
> Thank you both for replying. The architecture is indeed x86
> (Windows 2003
> server) and changing OS is not an option right now (going live soon).

The alternative view: You can go live with a known-unreliable system, or you 
can change OS and go live with a maybe-unreliable system :-).

> The strange thing is that if we place all 20 contexts in the Tomcat
> 6.0\webapps then we get this exception/error:
>
> ..backtrace..
> Cause by  java.lang.OutOfMemoryError: PermGen space.
>
> If we place the contexts outside of the Tomcat 6.0\webapps (updated
> server.xml ofc), then we DON'T get the OutOfMemoryError.
> Because we'd like to use the WAR update mechanism, keeping
> all webapps in Tomcat 6.0\webapps is preferred.

I'm somewhat surprised.  Do all 20 contexts get started when they're elsewhere?

By the way, there's one other thing you *could* try if you had to reduce memory 
usage.  I don't like it, because it makes versioning the webapps a nightmare; 
but it might save you quite a lot of RAM and allow you to go live on the 
current hardware.  The choice is yours!

If many of your webapps use the same versions of the same jars, you *could* 
share them between webapps.  The classes will then be loaded once, rather than 
once per webapp, reducing the amount of PermGen required.  The problem, of 
course, is that your webapps are then locked to the same library versions - 
updating one webapp with a new library is a problem.

If you want to look at this approach, check the Tomcat 6 classloader how-to on 
the web site.  But if you do this, I would suggest you regard it as an 
emergency hack and look urgently at ways to remove it.

                - Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to