tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject Re: 2 instance of ParallelWebAppClassLoaders in Tomcat JVM
Date Fri, 15 Mar 2019 08:30:08 GMT
On 14/03/2019 21:15, Shankar P S wrote:
> Version - Tomcat 8.5.38
> OS - Centos 7.6
> JVM - openjdk 1.8, 4 CPU
> 
> We recently upgraded an existing server running a Spring 3.0 web app from
> Tomcat 8.5.35 to 8.5.38.
> 
> After the upgrade, I noticed OutOfMemory exceptions several times.
> Increasing the heap size (-Xmx) several times upto nearly twice (from 6 GB
> to 10 GB) helped bring the problem under control.
> 
> I was worried about a memory leak and so took a heap dump. Upon inspection
> I noticed that there were 2 copies of 2 large HashMap objects that we use
> as a cache for fast lookup. I noticed that this was because there were 2
> instances of org.apache.catalina.loader.ParallelWebappClassLoader.
> 
> Downgrading to 5.3.35, reduced the heap size to half and the problem was
> gone. In the new heap dump, there was only one instance of
> ParallelWebappClassLoader.
> 
> My question is - why does Tomcat 5.3.38 create 2 instances of
> ParallelWebappClassLoader, while  5.3.35 creates only one?Is there a way to
> conigure the number of instances of  ParallelWebappClassLoaderwhen
> upgrading to 8.5.38?

That sounds like you have double deployment. That normally means
configuration error.

Since you have a heap dump, look for StandardContext instances and then
look at the value of docBase for each. That should give you some
pointers to what is happening.

Mark

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


Mime
View raw message