Hi Eric, On a windows system it's quite straight-forward. Run your application in your IDE. Stop at breakpoint. Run VisualVM. You will get a list of running java processes, including your application. A few clicks will get you a memory profile and there you can see a tree structure, where each object in memory references it's "parent". There's probably one single root object you have to free to solve your memory issues.
Regards, Georg Datterl ------ Kontakt ------ Georg Datterl Geneon media solutions gmbh Gutenstetter Straße 8a 90449 Nürnberg HRB Nürnberg: 17193 Geschäftsführer: Yong-Harry Steiert Tel.: 0911/36 78 88 - 26 Fax: 0911/36 78 88 - 20 www.geneon.de<http://www.geneon.de> Weitere Mitglieder der Willmy MediaGroup: IRS Integrated Realization Services GmbH: www.irs-nbg.de<http://www.irs-nbg.de> Willmy PrintMedia GmbH: www.willmy.de<http://www.willmy.de> Willmy Consult & Content GmbH: www.willmycc.de<http://www.willmycc.de> Von: Eric Douglas [mailto:[email protected]] Gesendet: Mittwoch, 18. Mai 2011 16:43 An: [email protected] Betreff: RE: Fop Memory Use If there's no obvious answer as to what Fop might be doing wrong or what I might be doing wrong that would be my next guess, except I've never done that so I'd have to figure out how. ________________________________ From: Georg Datterl [mailto:[email protected]] Sent: Wednesday, May 18, 2011 10:25 AM To: [email protected] Subject: AW: Fop Memory Use Hi Eric, I'd run a debugger (available with modern JDKs). Set a breakpoint after the first run and memory profiling should tell you, which objects are still in memory and why. Regards, Georg Datterl ------ Kontakt ------ Georg Datterl Geneon media solutions gmbh Gutenstetter Straße 8a 90449 Nürnberg HRB Nürnberg: 17193 Geschäftsführer: Yong-Harry Steiert Tel.: 0911/36 78 88 - 26 Fax: 0911/36 78 88 - 20 www.geneon.de<http://www.geneon.de> Weitere Mitglieder der Willmy MediaGroup: IRS Integrated Realization Services GmbH: www.irs-nbg.de<http://www.irs-nbg.de> Willmy PrintMedia GmbH: www.willmy.de<http://www.willmy.de> Willmy Consult & Content GmbH: www.willmycc.de<http://www.willmycc.de> Von: Eric Douglas [mailto:[email protected]] Gesendet: Mittwoch, 18. Mai 2011 16:12 An: [email protected] Betreff: RE: Fop Memory Use When I tested over 130 pages the PNG render crashed with this dump. Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:45) at java.lang.StringBuilder.<init>(StringBuilder.java:92) at org.apache.fop.area.inline.SpaceArea.<init>(SpaceArea.java:43) at org.apache.fop.area.inline.TextArea.addSpace(TextArea.java:82) at org.apache.fop.layoutmgr.inline.TextLayoutManager$TextAreaBuilder.addSpaces(TextLayoutManager.java:578) at org.apache.fop.layoutmgr.inline.TextLayoutManager$TextAreaBuilder.setText(TextLayoutManager.java:497) at org.apache.fop.layoutmgr.inline.TextLayoutManager$TextAreaBuilder.build(TextLayoutManager.java:442) at org.apache.fop.layoutmgr.inline.TextLayoutManager$TextAreaBuilder.access$1(TextLayoutManager.java:435) at org.apache.fop.layoutmgr.inline.TextLayoutManager.addAreaInfoAreas(TextLayoutManager.java:369) at org.apache.fop.layoutmgr.inline.TextLayoutManager.addAreas(TextLayoutManager.java:297) at org.apache.fop.layoutmgr.inline.InlineLayoutManager.addAreas(InlineLayoutManager.java:479) at org.apache.fop.layoutmgr.inline.LineLayoutManager.addInlineArea(LineLayoutManager.java:1561) at org.apache.fop.layoutmgr.inline.LineLayoutManager.addAreas(LineLayoutManager.java:1430) at org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:389) at org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:121) at org.apache.fop.layoutmgr.BlockContainerLayoutManager$BlockContainerBreaker.addAreas(BlockContainerLayoutManager.java:939) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:626) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:497) at org.apache.fop.layoutmgr.BlockContainerLayoutManager$BlockContainerBreaker.addContainedAreas(BlockContainerLayoutManager.java:965) at org.apache.fop.layoutmgr.BlockContainerLayoutManager.addAreas(BlockContainerLayoutManager.java:1158) at org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:389) at org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:121) at org.apache.fop.layoutmgr.FlowLayoutManager.addAreas(FlowLayoutManager.java:342) at org.apache.fop.layoutmgr.PageBreaker.addAreas(PageBreaker.java:280) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:626) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:497) at org.apache.fop.layoutmgr.PageBreaker.doPhase3(PageBreaker.java:308) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:450) at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:85) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120)
