You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by "Maring, Steve" <St...@tvratings.com> on 2001/11/09 15:28:36 UTC

FOP memory usage

I'm using fop-0.20.1.

I started with a 650KB XML file that I transformed into a 4MB XSL:FO file.
Running this file through FOP to generate a PDF used about 90MB of memory.

Initial heap size: 807Kb
Current heap size: 91637Kb
Total memory used: 90829Kb
  Memory use is indicative; no GC was performed
  These figures should not be used comparatively
Total time used: 31265ms
Pages rendererd: 17
Avg render time: 1839ms/page


I have XML files in excess of 15MB that need to be converted to PDF.
Assuming that a linear extrapolation is possible, it would suggest that the
JVM running the FOP process would need in excess of 2GB of memory for this
to avoid the dreaded java.lang.OutOfMemoryError.

Are there any optimizations that can be done to FOP?

Thanks.
-Steve Maring
Nielsen Media Research

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: FOP memory usage

Posted by Mark <ma...@inomial.com>.
Hey folks

I guess I should have said, "no explicit garbage collection was
performed". There is a compiled-in debugging option that forces FOP to
to a System.gc() before printing the memory stats, but many applications
of FOP will be long lived so asynchronous gc is better. So, GC is
definitely done, but not before the memory stats, which is why the
memory stats are marked as "should not be used comparatively" -
actually-free memory will not be reported as such by the system unless a
gc is done first.

Regards
Mark

p.s. I am starting to think that saying "don't use this comparatively"
is like saying "wait until the seat belt signs are off before getting
out of your seat". :)


On Sat, 2001-11-10 at 02:21, Matt Savino wrote:
> Make sure you're using -hotspot. Try setting the initial and max heap
> size to 256M if you have it. Turn on verbose garbage collection to see
> what's happening. Even though it says 'No garbage collection was
> performed, I'm not sure that's accurate (see below). Also sometimes the
> total memory used is negative. So don't assume you'll always run out of
> memory. That said 15MB XML to 120MB PDF may be a littl much. The only
> way to find out is to try it!
> 
> <<< my output on Weblogic with -hotspot -verbose:gc -ms256m -mx256m >>>
> 
> FopServlet says hi
> [GC 14710K->12798K(261888K), 0.0258153 secs]
> [GC 14840K->13743K(261888K), 0.0275211 secs]
> [Full GC 15436K->13778K(261888K), 0.7851467 secs]
> [GC 15825K->14079K(261888K), 0.0097378 secs]
> [GC 16127K->14306K(261888K), 0.0203590 secs]
> [GC 16354K->14835K(261888K), 0.0211491 secs]
> [GC 16883K->14911K(261888K), 0.0125452 secs]
> [GC 16959K->14949K(261888K), 0.0097037 secs]
> [GC 16997K->14981K(261888K), 0.0080228 secs]
> building formatting object tree
> setting up fonts
> [GC 17029K->15288K(261888K), 0.0154997 secs]
> [GC 17336K->15777K(261888K), 0.0254016 secs]
> [GC 17825K->16324K(261888K), 0.0199059 secs]
>  [1[GC 18372K->16920K(261888K), 0.0248386 secs]
> [GC 18968K->17332K(261888K), 0.0178556 secs]
> [GC 19380K->17702K(261888K), 0.0221106 secs]
> ] [2][GC 19750K->18117K(261888K), 0.0219930 secs]
> [GC 19021K->18525K(261888K), 0.0153204 secs]
> [GC 19952K->19940K(261888K), 0.0163652 secs]
> [GC 21009K->21005K(261888K), 0.0129846 secs]
> [GC 22075K->22075K(261888K), 0.0132101 secs]
>  [3[GC 24122K->23293K(261888K), 0.0148726 secs]
> ][GC 25341K->23623K(261888K), 0.0144110 secs]
>  [4[GC 25671K->23925K(261888K), 0.0167574 secs]
> [GC 25973K->24281K(261888K), 0.0171810 secs]
> ]
> Parsing of document complete, stopping renderer
> Initial heap size: 15357Kb
> Current heap size: 24716Kb
> Total memory used: 9358Kb
>   Memory use is indicative; no GC was performed
>   These figures should not be used comparatively
> Total time used: 5117ms
> Pages rendererd: 4
> Avg render time: 1279ms/page
> 
> 
> 
> 
> 
> 
> "Maring, Steve" wrote:
> > 
> > I'm using fop-0.20.1.
> > 
> > I started with a 650KB XML file that I transformed into a 4MB XSL:FO file.
> > Running this file through FOP to generate a PDF used about 90MB of memory.
> > 
> > Initial heap size: 807Kb
> > Current heap size: 91637Kb
> > Total memory used: 90829Kb
> >   Memory use is indicative; no GC was performed
> >   These figures should not be used comparatively
> > Total time used: 31265ms
> > Pages rendererd: 17
> > Avg render time: 1839ms/page
> > 
> > I have XML files in excess of 15MB that need to be converted to PDF.
> > Assuming that a linear extrapolation is possible, it would suggest that the
> > JVM running the FOP process would need in excess of 2GB of memory for this
> > to avoid the dreaded java.lang.OutOfMemoryError.
> > 
> > Are there any optimizations that can be done to FOP?
> > 
> > Thanks.
> > -Steve Maring
> > Nielsen Media Research
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
> > For additional commands, email: fop-dev-help@xml.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
> For additional commands, email: fop-dev-help@xml.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: FOP memory usage

Posted by Matt Savino <ma...@synergizethis.com>.
Make sure you're using -hotspot. Try setting the initial and max heap
size to 256M if you have it. Turn on verbose garbage collection to see
what's happening. Even though it says 'No garbage collection was
performed, I'm not sure that's accurate (see below). Also sometimes the
total memory used is negative. So don't assume you'll always run out of
memory. That said 15MB XML to 120MB PDF may be a littl much. The only
way to find out is to try it!

<<< my output on Weblogic with -hotspot -verbose:gc -ms256m -mx256m >>>

FopServlet says hi
[GC 14710K->12798K(261888K), 0.0258153 secs]
[GC 14840K->13743K(261888K), 0.0275211 secs]
[Full GC 15436K->13778K(261888K), 0.7851467 secs]
[GC 15825K->14079K(261888K), 0.0097378 secs]
[GC 16127K->14306K(261888K), 0.0203590 secs]
[GC 16354K->14835K(261888K), 0.0211491 secs]
[GC 16883K->14911K(261888K), 0.0125452 secs]
[GC 16959K->14949K(261888K), 0.0097037 secs]
[GC 16997K->14981K(261888K), 0.0080228 secs]
building formatting object tree
setting up fonts
[GC 17029K->15288K(261888K), 0.0154997 secs]
[GC 17336K->15777K(261888K), 0.0254016 secs]
[GC 17825K->16324K(261888K), 0.0199059 secs]
 [1[GC 18372K->16920K(261888K), 0.0248386 secs]
[GC 18968K->17332K(261888K), 0.0178556 secs]
[GC 19380K->17702K(261888K), 0.0221106 secs]
] [2][GC 19750K->18117K(261888K), 0.0219930 secs]
[GC 19021K->18525K(261888K), 0.0153204 secs]
[GC 19952K->19940K(261888K), 0.0163652 secs]
[GC 21009K->21005K(261888K), 0.0129846 secs]
[GC 22075K->22075K(261888K), 0.0132101 secs]
 [3[GC 24122K->23293K(261888K), 0.0148726 secs]
][GC 25341K->23623K(261888K), 0.0144110 secs]
 [4[GC 25671K->23925K(261888K), 0.0167574 secs]
[GC 25973K->24281K(261888K), 0.0171810 secs]
]
Parsing of document complete, stopping renderer
Initial heap size: 15357Kb
Current heap size: 24716Kb
Total memory used: 9358Kb
  Memory use is indicative; no GC was performed
  These figures should not be used comparatively
Total time used: 5117ms
Pages rendererd: 4
Avg render time: 1279ms/page






"Maring, Steve" wrote:
> 
> I'm using fop-0.20.1.
> 
> I started with a 650KB XML file that I transformed into a 4MB XSL:FO file.
> Running this file through FOP to generate a PDF used about 90MB of memory.
> 
> Initial heap size: 807Kb
> Current heap size: 91637Kb
> Total memory used: 90829Kb
>   Memory use is indicative; no GC was performed
>   These figures should not be used comparatively
> Total time used: 31265ms
> Pages rendererd: 17
> Avg render time: 1839ms/page
> 
> I have XML files in excess of 15MB that need to be converted to PDF.
> Assuming that a linear extrapolation is possible, it would suggest that the
> JVM running the FOP process would need in excess of 2GB of memory for this
> to avoid the dreaded java.lang.OutOfMemoryError.
> 
> Are there any optimizations that can be done to FOP?
> 
> Thanks.
> -Steve Maring
> Nielsen Media Research
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
> For additional commands, email: fop-dev-help@xml.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org