Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I have a simple job that is processing a 2.2GB XML file. It is running out of memory and erroring out even though it is being run with the parameters of -Xmx3072M and -Xms3072M. The generation mode is also set to low memory consumption (SAX).
Exception in thread "main" java.lang.Error: java.lang.OutOfMemoryError: GC overhead limit exceeded
at morningstar_01.httrs_performance01_tlog_0_1.Httrs_Performance01_tLog.tFileInputXML_1Process(Httrs_Performance01_tLog.java:1175)
at morningstar_01.httrs_performance01_tlog_0_1.Httrs_Performance01_tLog.runJobInTOS(Httrs_Performance01_tLog.java:1353)
at morningstar_01.httrs_performance01_tlog_0_1.Httrs_Performance01_tLog.main(Httrs_Performance01_tLog.java:1221)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.lang.String.substring(Unknown Source)
at org.talend.xml.sax.SAXLoopHandler.startElement(SAXLoopHandler.java:176)
at org.talend.xml.sax.SAXLoopCompositeHandler.startElement(SAXLoopCompositeHandler.java:64)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
at org.talend.xml.sax.ComplexSAXLooper.parse(ComplexSAXLooper.java:164)
at org.talend.xml.sax.SAXLooper.parse(SAXLooper.java:129)
at morningstar_01.httrs_performance01_tlog_0_1.Httrs_Performance01_tLog.tFileInputXML_1Process(Httrs_Performance01_tLog.java:800)
... 2 more
~~~
What do I have to change to get this job to run without memory errors? I have also tried increasing the Xms and Xmx in the C:\Talend\5.1.2\studio\JETL-r90681-V5.1.2\JETL-win-x86_64.ini but same result. The settings are below:
-vmargs
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=512m
-Dfile.encoding=UTF-8