Follow the code below, with virtualization parameters... OK, the virtualization will consume some memory. But this is causing memory problems in my app. Is the only solution limit the size of reports? Code:int blockSize=10, minGrowSize=5, maxSize=10;JRSwapFile swapFile = new JRSwapFile("/home/report/swap",blockSize,minGrowSize);JRAbstractLRUVirtualizer virtualizer = new JRSwapFileVirtualizer(maxSize,swapFile, swapOwner);params.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);JasperPrint jasperPrint = JasperFillManager.fillReport(jasperFile, params, datasource);virtualizer.setReadOnly(true);JasperExportManager.exportReportToPdfFile(jasperPrint, "/home/report/file.pdf");