JonReport Posted October 7, 2013 Share Posted October 7, 2013 Hello to you all ,I started in the world of reporting. Here is my problem :I created a report in iReport . The preview of the report in iReport is going very well , and I can export the results of my report in XLS format without worries. The generated report contains 422 pages ( a little over 10,000 lines of results) 9 columns.When I upload the same report on my JasperServer Report and executes server, everything is going very well . By cons when exporting to XLS , I always error An internal server error has occurred. Please contact your system administrator.Details : Handler processing failed ; nested exception is java.lang.OutOfMemoryError : Java heap spaceI was fine read, Googled right and left in search of a solution , I can not find anything that solves my problem. But I have a good server core i5 , 16 GB of RAM ... So I do not think short side RAM. I think it's a bad configuration or I have read the solution without the skills to apply it.I want to say that in other reports, is promptly executed and exports correctenet . My server works perfectly fine otherwise .Tell me what you need to help me see more clearly and solve my problem :)Thank you in advance . Link to comment Share on other sites More sharing options...
nicolaifriis Posted October 7, 2013 Share Posted October 7, 2013 Have you tried increasing the memory allocated to your JVM on your serer? The settings you should check are -Xms and -Xmx. Link to comment Share on other sites More sharing options...
hishamkmr Posted October 7, 2013 Share Posted October 7, 2013 Try this You can use a virtualizer to limit the use of memory (Tools->Options->iReport->Compilation and execution (tab) ->Execution options (tab) check "Use virtualizer". The vitualizer can be configured in the tab "Virtualizer". If the error happens at export time, the virtualizer is not useful, and you have to increase the heap size (meaning set a bigger value for the option -J-Xmx512m change 512 to 1000 or more..may be it will help.. try it.. Link to comment Share on other sites More sharing options...
djohnson53 Posted October 7, 2013 Share Posted October 7, 2013 For a more comprehensive treatment of performance, take a look at our Wiki's JasperReports Server Performance Reference.It will explain how to configure the JVM as well as other performance tips. Link to comment Share on other sites More sharing options...
JonReport Posted October 8, 2013 Author Share Posted October 8, 2013 Wow, so many answers! It's just great!My JasperServer Reports Server is installed on a Ubuntu 12.04 LTS server through a .WAR compiled by me according to the documentation and executed by a Tomcat 6 Server.In order to increase the JVM memory. I did anps -aux | grep javawhich allowed me to see that my JVM was configured with a-Xmx128m. However I have not found how increase it. What is the magic command line ?I tried this :export set JAVA_OPTS="-Xms128m -Xmx512m"Then restart :service tomcat6 restartBut when I check with anps -aux | grep javaNothing has changed I'm still-Xmx128m. I think I am doing wrong to apply the settings and check.The solution to virtualize am also interested, but I would like to have a detailed step by step guide to setup it. It sounds complex but sustainable me. Link to comment Share on other sites More sharing options...
JonReport Posted October 11, 2013 Author Share Posted October 11, 2013 Hello,I am now almost certain that the configuration of JVM is the solution to my problem. I just really stuck on this step. I can not really passing the parameters -Xms and -Xmx to JVM.Here is my current JAVA :java -versionjava version "1.6.0_27"OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) Link to comment Share on other sites More sharing options...
lucianc Posted October 17, 2013 Share Posted October 17, 2013 If you're using the Ubuntu tomcat6 service try adding the -Xmx argument in /etc/default/tomcat6 (JAVA_OPTS variable). Link to comment Share on other sites More sharing options...
JonReport Posted October 22, 2013 Author Share Posted October 22, 2013 Not finding how to change settings of JVM. I performed a clean install by uninstalling and re-installing completely JasperReport Server and Tomcat.Now I have no more problems, so I did not do anything special from my point of view in terms of configuration. But I would still like to know for the future and my general knowledge how to change settings of JVM. If a kind soul going around, I'm interested.My question is resolved in the sense that I have no more problems.Thank you very much to those who took the time to look at my problem. Link to comment Share on other sites More sharing options...
mariuss Posted October 30, 2013 Share Posted October 30, 2013 added as answer :) Link to comment Share on other sites More sharing options...
Solution mariuss Posted October 30, 2013 Solution Share Posted October 30, 2013 Hello JonReport,- check your JVM startup parameterssudo service tomcat7 status # to find out your pidsudo jmap -J-d64 -heap pid # -J-d64 for a 64-bit System, to print info about heap memory- try to understand environment variables in ubuntu- take a look at the differences between JAVA_OPTS and CATALINA_OPTS- decide how to change the JAVA_OPTS(there are some ways)I do it in /etc/default/tomcat7, e.g.:JAVA_OPTS="-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -Xss2m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled"then restart tomcat...and it works now :)Marius Link to comment Share on other sites More sharing options...
JonReport Posted November 4, 2013 Author Share Posted November 4, 2013 You, mariuss, make my day ! Your post is just what I needed! Documentation with simple but precise references and a concrete example ! My problem is now fully resolved :). ____________________________________________ For people in the same configuration as me : Here is my current JAVA : java -version java version "1.6.0_27" OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) My JasperServer Reports Server is installed on a Ubuntu 12.04 LTS server through a .WAR compiled by me according to the documentation and executed by a Tomcat 6 Server. In order to increase the JVM memory. I did an ps -aux | grep java which allowed me to see that my JVM was configured with a-Xmx128m. To change the JAVA_OPTS (there are some ways), e.g.: nano /etc/default/tomcat6 OR (depend of your tomcat version) nano /etc/default/tomcat7 then add , e.g.: JAVA_OPTS="-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -Xss2m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled" Then restart tomcat, ... and it works now :) ! Link to comment Share on other sites More sharing options...
ullu Posted July 20, 2015 Share Posted July 20, 2015 i can't figure out what is happening through but i have got this error. help plz........................................... Link to comment Share on other sites More sharing options...
ashwinlunkad Posted March 5, 2019 Share Posted March 5, 2019 Hello. I am having similar issue with Jasper Report Server - java.lang.OutOfMemoryError: Java heap space. This is making the application completely unresponsive.The issue occurs at multiple locations and logs provided below. I have set the JVM Heap space to 8GB, but still does not help. Please let me know if you have any solutions. Thanks in advance.java.lang.OutOfMemoryError: Java heap spaceat java.util.Arrays.copyOf(Arrays.java:2786)at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94)at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:263)at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106)at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:116)at java.io.OutputStreamWriter.write(OutputStreamWriter.java:203)at java.io.Writer.write(Writer.java:140)at net.sf.jasperreports.engine.export.JRHtmlExporter.exportText(JRHtmlExporter.java:1224)at net.sf.jasperreports.engine.export.JRHtmlExporter.exportGrid(JRHtmlExporter.java:815)at net.sf.jasperreports.engine.export.JRHtmlExporter.exportPage(JRHtmlExporter.java:730)at net.sf.jasperreports.engine.export.JRHtmlExporter.exportReportToWriter(JRHtmlExporter.java:679)at net.sf.jasperreports.engine.export.JRHtmlExporter.exportReport(JRHtmlExporter.java:389)JBWEB000236: Servlet.service() for servlet STVPdfServlet threw exception: java.lang.OutOfMemoryError at java.io.ByteArrayOutputStream.hugeCapacity(ByteArrayOutputStream.java:123) [rt.jar:1.7.0_201] at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:117) [rt.jar:1.7.0_201] at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) [rt.jar:1.7.0_201] at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153) [rt.jar:1.7.0_201] at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) [rt.jar:1.7.0_201] Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now