  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Subject: Re: Out of memory when concatenating -- I have read the previous threads | Subject: Re: Out of memory when concatenating -- I have read the previous threads 2007-10-08 - By dhyton
Back
I realize that some memory must be maintained for references for page addresses and so on. Still, in my case my pdf is about 72k (3 pages) and the memory is growing by about 80k per PDF iteration. To me that would indicate the entire pdf is being held in memory. I have tested with both checking the free memory in runtime and using JProfiler.
I know the api and forum indicate this is not so, my testing would indicate otherwise, and I have to resolve this issue one way or another because this issue is critical to our application.
Paulo Soares wrote: > > You'll have to throw more memory at the jvm. More pages require more > memory > even if all that it's kept in memory is references to the page addresses. > > Paulo > > -- -- Original Message -- -- > From: "dhyton" <dhyton@(protected)> > To: <itext-questions@(protected)> > Sent: Friday, October 05, 2007 6:36 PM > Subject: [iText-questions] Out of memory when concatenating -- I have read > the previous threads > > >> >> I am having a problem with running out of memory when concatenating >> files. >> I >> did search the issues and have found no solution. Below is my code. The >> output steam that is passed into the method for testing is a >> FileOutputStream. I am currently using itext 1.3 but I tested and had the >> same issue with the latest release. You can see I use a PDFCopy and do >> not >> keep any references to the reader around. >> >> The heap seems to grow very quickly. >> >> Can you please help? >> Thanks >> David >> >> public static void assembleOnLargePDF(Rectangle pageSize, OutputStream >> sos, File jobDir, boolean paper, boolean preview, List<String> >> householdIDs) >> throws DocumentException, IOException >> { >> >> Runtime runtime = Runtime.getRuntime(); >> System.gc(); >> >> System.out.println("Starting Process " + runtime.freeMemory() + " >> of >> " + runtime.maxMemory()); >> Document allHHDocument = new Document(pageSize, 0, 0, 0, 0); >> PdfCopy allHHCopy = new PdfCopy(allHHDocument, sos); >> >> allHHDocument.open(); >> int count = 0; >> for(String householdID : householdIDs) >> { >> System.gc(); >> System.out.println("Starting HH " + (count) + " " + >> runtime.freeMemory()); >> >> FileInputStream fileInputStream; >> try >> { >> File file = new File(jobDir, householdID + ".pdf"); >> if(file.exists()) fileInputStream = new >> FileInputStream(file); >> else continue; >> } >> catch(FileNotFoundException e) >> { >> continue; >> } >> PdfReader r = null; >> try >> { >> r = new PdfReader(fileInputStream); >> int numberOfPages = r.getNumberOfPages(); >> for(int j = 1; j <= numberOfPages; j++) >> { >> allHHCopy.addPage(allHHCopy.getImportedPage(r, j)); >> >> } >> >> allHHCopy.freeReader(r); >> >> sos.flush(); >> } >> finally >> { >> if(r != null) >> r.close(); >> fileInputStream.close(); >> } >> System.gc(); >> >> System.out.println("Ending HH " + (count++) + " " + >> runtime.freeMemory()); >> } >> allHHDocument.close(); >> allHHCopy.close(); >> System.gc(); >> System.out.println("Ending Process " + runtime.freeMemory()); >> >> } > > > -- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > __ ____ ____ ____ ____ ____ ____ ____ ____ ____ > iText-questions mailing list > iText-questions@(protected) > https://lists.sourceforge.net/lists/listinfo/itext-questions > Buy the iText book: http://itext.ugent.be/itext-in-action/ > >
-- View this message in context: http://www.nabble.com/Out-of-memory-when -concatenating----I-have-read-the-previous-threads-tf4576701.html#a13098283 Sent from the iText - General mailing list archive at Nabble.com.
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ __ ____ ____ ____ ____ ____ ____ ____ ____ ____ iText-questions mailing list iText-questions@(protected) https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/
|
|
 |