You should work on using VisualVM to analyze what is consuming all the
memory.  I see Hibernate and caching in your stack traces, not just
Tapestry, so you need to pin down the blame first.  And, you didn't
give any idea about what version of Tapestry you are using, or any
other useful details.

On Wed, Aug 3, 2011 at 11:57 PM, olip <oliverp...@googlemail.com> wrote:
> Hi everyone!
>
> We are running a Tapestry application on an Jetty7 hightide deployment
> server.
> The server has 2gig ram and jetty is configured the following way:
>
> JAVA_OPTIONS="-Xmx1024m  -XX:MaxPermSize=256m -Djava.awt.headless=true"
>
> (On the server is only running jetty, mysql and postfix nothing else.)
>
> After a day of running the web application REALLY slows down and when
> reviewing logfiles I stumbled over:
>
> [ERROR] TapestryModule.RequestExceptionHandler Processing of request failed
> with uncaught exception: GC overhead limit exceeded
> java.lang.OutOfMemoryError: GC overhead limit exceeded
>        at
> org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154)
>        at
> org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145)
>        at
> org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)
>        at
> org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:58)
>        at
> org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996)
>        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141)
>        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
>        at
> de.dkfz.signaling.GenomeRNAi.dao.ReagentDAOImpl.getReagent(ReagentDAOImpl.java:45)
>        at $ReagentDAO_13190064f02.getReagent($ReagentDAO_13190064f02.java)
>        at $ReagentDAO_13190064e59.getReagent($ReagentDAO_13190064e59.java)
>        at
> de.dkfz.signaling.GenomeRNAi.components.NewPhenotypes.getReagentIDFound(NewPhenotypes.java:447)
>        at
> $PropertyConduit_13190064e74.get($PropertyConduit_13190064e74.java)
>        at
> org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:58)
>        at
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.read(InternalComponentResourcesImpl.java:510)
>        at
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.read(InternalComponentResourcesImpl.java:496)
>        at
> org.apache.tapestry5.corelib.components.If._$read_parameter_test(If.java)
>        at org.apache.tapestry5.corelib.components.If.test(If.java:45)
>        at
> org.apache.tapestry5.corelib.base.AbstractConditional.beginRender(AbstractConditional.java:59)
>        at
> org.apache.tapestry5.corelib.base.AbstractConditional.beginRender(AbstractConditional.java)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:206)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.run(ComponentPageElementImpl.java:164)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$400(ComponentPageElementImpl.java:49)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.callback(ComponentPageElementImpl.java:159)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:211)
>        at
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74)
>        at
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121)
>        at
> $PageRenderQueue_13190064e47.render($PageRenderQueue_13190064e47.java)
>        at
> $PageRenderQueue_13190064e3d.render($PageRenderQueue_13190064e3d.java)
>        at
> org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
>        at
> org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1748)
>        at
> $MarkupRenderer_13190064e49.renderMarkup($MarkupRenderer_13190064e49.java)
>
>
> When searching for this error message I hear that the garbage collector is
> too often active so that the main program slows down.
>
> Is there anything to do about this, a way to analyse the parts of the
> program which are too GC intensive?
> Or are there ways to improve this situation?
>
> Somebody has experiences with that?
>
> Thanks in advance
> Oliver
>
> --
> View this message in context: 
> http://tapestry-users.832.n2.nabble.com/Tapestry-Application-produces-GC-overhead-limit-exceeded-tp6651594p6651594.html
> Sent from the Tapestry Users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to