geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <>
Subject Re: Runaway garbage collection on G 2.2.1
Date Fri, 19 Aug 2011 02:04:22 GMT

On Aug 18, 2011, at 5:07 PM, Jay D. McHugh wrote:

> Hello all,
> My app which is bundled as an EAR consisting of an EJB jar and a WAR file has been running
quite happily in Geronimo for years (it has been in continuous development the entire time).
> But yesterday, it suddenly started to flake out running through a tremendous number of
garbage collections when attempting to open some (but not all) of the jsps in the WAR file.
 There are so many collections occurring that it sometimes takes several minutes before the
jsp gets processed and sent to the browser.
> There is no useful logging that happens so it appears that the problem is occurring somewhere
in Tomcat.
> I do have a filter that is configured, but when I put some logging into that - it was
not hit until after the GC looping finished.
> Does anyone have a suggestion as to where I could look to figure out what might be going
> This is running on an Ubuntu Linux 10.04.3 64bit machine with 6Gb of physical memory
and two dual-core hyperthreading processors (so it looks like 8 cores to the OS).
> Here is my JAVA_OPTS variable:
> JAVA_OPTS=-Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:NewSize=64m -XX:MaxNewSize=128m
-verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError
> With the exception of the garbage collection flags and the 'dump on error' parameters
- I have been running with this set up forever.
> Is it possible for the number of classes in my EAR to cause a problem?
> I am pretty much at my wits end - but I have to fix it because it is on my production
server and all of my attempts to set up a new system have the same problem.
> Thanks in advance for any hints,

Hi Jay,
Doesn't ring any bells, unfortunately.

How does your GC output look? Are you running low on heap/permgen space? And thus spending
a lot of time GC'ing as the JVM struggles to keep things afloat? Or is something allocating
a bunch of objects?

I'd try 'kill -3 <pid>' to see if you can get an idea of what the server is up to...

Beyond that, I'd try to post-mortem what has changed. Was there an app update that may have
triggered this behavior? Network change (that's a stretch). Java refresh, etc...


View raw message