Re: Tapestry Application produces "GC overhead limit exceeded"
Dear Howard, Thanks for your answer. I use 5.1.0.5. I think I found it out only by inspecting the exception msg. I was creating a large table and was creating two large java objects out of hibernate calls for every row I rendered (not creating the table data in someting like setupRender) but during rendering process of table. I optimized it by using hibernate native sql nd not creating so much java objects now. Thank you for your help. Oliver -- View this message in context: http://tapestry-users.832.n2.nabble.com/Tapestry-Application-produces-GC-overhead-limit-exceeded-tp6651594p6663722.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
Re: Tapestry Application produces "GC overhead limit exceeded"
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 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
Tapestry Application produces "GC overhead limit exceeded"
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