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 on? > > 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... --kevan