cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Baldwin <>
Subject Re: Memory Usage Problem with Tomcat
Date Wed, 14 Mar 2012 13:51:04 GMT

After watching the video you suggested, I tried one of the "tricks".  I started up tomcat,
with the cayenne enabled app. Then took a snapshot with VisualVM. There appear to be 5 instances

This may or may not be normal, however when I redeployed the application (via ant-tomcat command)
there were then 10 instances.  Each time I redeployed the app, another 5 instances were displayed
with VisualVM snapshot.

I then tried another test, in which I restarted Tomcat (to get 5 instances of the EventManager)
used Tomcat manager to undeploy the app (which ostensibly wipes the app from the tomcat dir
structure), however, the 5 instances of the EventManager were still showing up in VisualVM

Mark Thomas (the video lecturer), said that this all *might* indicate a leak.  However, since
I am unfamiliar with the intended behavior, I cannot be sure.  On the other hand, having these
5 instance multiply each time the app is redeployed does not seem like it is standard behavior.

Thomas described an on behavior in which just adding a JDBC jar file to your WEB-INF/lib dir
could cause a leak.  The reasoning behind how the class loaders work was a bit convoluted,
but I am wondering if these behaviors are related.

So my question is what behavior would you expect, and what should my next test be?


On Mar 13, 2012, at 4:47 PM, Andrus Adamchik wrote:

> On Mar 13, 2012, at 4:03 PM, Mike Kienenberger wrote:
>> 2) Modern app servers restart and redeploy applications without
>> restarting the app server.     Thus, the memory leak might be from a
>> previous application instance or application deployment.   I think
>> someone reported a possible Cayenne issue for that recently.
> I keep recommending to people this presentation by Mark Thomas from Tomcat project:
> Video with slides:
> Slides in PDF:
> Even if you are not using Tomcat, but curious what happens to your memory, I still recommend
it :) It is applicable to any Java app server and was an eye opener to me back in the day.
> Andrus

View raw message