If you want to save memory, store the logs as files that you archive as build artifacts. Storing large logs inline in the junit xml files will cost you a lot in memory. But if you have the memory, go for it.
Sun JVM option -XmxNNG sets the heap to NN gigabytes. Run "java -X" to see what you can tune. How exactly you change it, depends on your platform and the way you start Jenkins. -- Sami 2012/3/2 Gaetan <gae...@xeberon.net>: > Hello > > I'm starting to have a java heap error when parsing the junit tests. > I have a bunch of 3000 tests that might have some long logs (the total size > of junit files is around 200 Mb), but I hope jenkins is able to handle > this). > > How can I increase the HEAP size of jenkins ? Or is there a way to fix this > crash (in the futur, the results size will increase) ? > > 10:39:52 FATAL: Java heap space > 10:39:52 java.lang.OutOfMemoryError: Java heap space > 10:39:52 at java.util.Arrays.copyOfRange(Arrays.java:3221) > 10:39:52 at java.lang.String.<init>(String.java:233) > 10:39:52 at > org.dom4j.io.SAXContentHandler.characters(SAXContentHandler.java:299) > 10:39:52 at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(AbstractSAXParser.java:541) > 10:39:52 at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:441) > 10:39:52 at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819) > 10:39:52 at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748) > 10:39:52 at > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) > 10:39:52 at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208) > 10:39:52 at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525) > 10:39:52 at org.dom4j.io.SAXReader.read(SAXReader.java:465) > 10:39:52 at org.dom4j.io.SAXReader.read(SAXReader.java:264) > 10:39:52 at hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:112) > 10:39:52 at hudson.tasks.junit.TestResult.parse(TestResult.java:208) > 10:39:52 at hudson.tasks.junit.TestResult.parse(TestResult.java:163) > 10:39:52 at hudson.tasks.junit.TestResult.parse(TestResult.java:140) > 10:39:52 at hudson.tasks.junit.TestResult.<init>(TestResult.java:116) > 10:39:52 at > hudson.tasks.junit.JUnitParser$ParseResultCallable.invoke(JUnitParser.java:114) > 10:39:52 at > hudson.tasks.junit.JUnitParser$ParseResultCallable.invoke(JUnitParser.java:87) > 10:39:52 at hudson.FilePath.act(FilePath.java:788) > 10:39:52 at hudson.FilePath.act(FilePath.java:770) > 10:39:52 at hudson.tasks.junit.JUnitParser.parse(JUnitParser.java:83) > 10:39:52 at > hudson.tasks.junit.JUnitResultArchiver.parse(JUnitResultArchiver.java:122) > 10:39:52 at > hudson.tasks.junit.JUnitResultArchiver.perform(JUnitResultArchiver.java:134) > 10:39:52 at > hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) > 10:39:52 at > hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:703) > 10:39:52 at > hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678) > 10:39:52 at > hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:656) > 10:39:52 at hudson.model.Build$RunnerImpl.post2(Build.java:162) > 10:39:52 at > hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625) > 10:39:52 at hudson.model.Run.run(Run.java:1433) > 10:39:52 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) > > ----- > Gaetan > >