tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Olaf Kock <>
Subject Re: Is it Normal for Tomcat 8 to Use 20-80% More Memory Than Tomcat 6?
Date Fri, 22 Dec 2017 13:00:01 GMT

On 22.12.2017 13:48, Eric Robinson wrote:
> We have multiple JVMs deployed on two identical Linux servers. Each server has 60 JVMs.
Until today, both servers were running Tomcat6 with JDK 1.6. Today we upgraded one of the
servers to Tomcat 8 with JDK 1.8. Now the JVMs on the Tomcat 8 server are each using between
20-80% more memory than the ones on Tomcat6 with JDK 1.6. Is that normal? Why would that be?
Is it some kind of settings? Is it fixable?
It might be as simple as different thresholds for the garbage collector 
to kick in.
I'd start with an evaluation of how much memory is used right after a GC 
run - and in case this isn't satisfactory, which objects use the memory. 
Typically it's appropriate to just look at the top of the list.

Note that the GC algorithms (or just GC defaults) between the different 
JVM versions (sometimes even between minor upgrades) might differ 
significantly. One big question is: Did you explicitly configure memory 
consumption, GC algorithm and thresholds? If so, what's the difference 
between the two options: I'd expect that you need to change the settings 
significantly in order to achieve the same behavior. There's a lot of 
work that has been done in this world.

That being said, I'd also not rule out that tomcat's or other 
component's implementation changed - e.g. caches, or just memory use 
through upgraded libraries. But I'd recommend to look in both 
directions, with JDK and GC tuning being the elephant in the room, 
giving you the biggest bang for your buck.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message