[ 
https://issues.apache.org/jira/browse/PDFBOX-4058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16321862#comment-16321862
 ] 

Timo Boehme commented on PDFBOX-4058:
-------------------------------------

I would say that putting the values in weak-references is the correct solution 
if you look at how WeakHashMap works: only the keys are weak and may be garbage 
collected at any time but the values are not. The table entries are cleared 
only if you run a method (get/put/size/...) on the table. Without accessing the 
table all entries remain (especially the values). Thus in order to allow also 
the values to be garbage collected if needed it is required to put them into a 
WeakReference as you have done.

> High memory consumption when extracting image from PDF file
> -----------------------------------------------------------
>
>                 Key: PDFBOX-4058
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4058
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Rendering
>    Affects Versions: 2.0.5, 2.0.6, 2.0.7, 2.0.8
>         Environment: windows 10 / Linux
>            Reporter: Bjorn Misseghers
>            Assignee: Tilman Hausherr
>              Labels: regression
>             Fix For: 2.0.9, 3.0.0 PDFBox
>
>         Attachments: HighMemoryFootprint.pdf
>
>
> When rendering an image at 300 dpi from the included PDF, my java process 
> uses a huge amount of memory.
> The document is only 45 Kb in size and contains 2 pages, my JVM is unable to 
> extract even 1 page with 3G of memory. Setting Xmx to 4G works but is not the 
> solution I want.
> The error occurs when calling PDFRenderer.renderImageWithDPI()
> I already tried tweaking the memory usage in my application to use a scratch 
> file while loading the document as well as avoiding caching of XObjects as 
> described here: https://pdfbox.apache.org/2.0/faq.html#outofmemoryerror
> These didn't work.
> The issue can be reproduced using the pdfbox-app utility:
> java -Xmx3G -jar pdfbox-app-2.0.8.jar PDFToImage 
> HighMemoryFootprint.pdf -dpi 300 -color RGB -page 1
> What can not be changed?
> * 300 dpi will not be decreased.
> * Max Java memory will not be increased: 3GB is ridiculous for a 45kb PDF 
> file.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to