OK - I have spent a few weeks trying to track down a memory leak that is in
our application. We see the leak in that the yourkit profiler shows an
increasing trend in telemetry. BUT, in tyring to track it down, all the GC
roots of the largest objects are coming from things like JDBC caches,
el.ExpressionEvaluatorImpl cache, WebAppClassLoader, and other Tomcat
managed caches/pools.


How do I know what memory is expected to be retained by Tomcat outside of my
application classes???? There seems to be caches / pools / classloaders as
almost every GC root. Is there some list out there that defines valid
Catalina GC roots for a running webapplication?? If not, Then how does one
know whether you are looking at a leak or some cache/pool that is managed by
something else, and assumabley works correctly? Also, if we have around 200
static classes, should we increase PermGen or Heap size?

Is there anyone out there who could help on this issue. Fee for service is
possible.

John McClain
Senior Software Engineer
TCS Healthcare
[EMAIL PROTECTED]
(530)886-1700x235
"Skepticism is the first step toward truth"

Reply via email to