<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Qlik Talend Studio: OutOfMemory Exception in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Talend-Studio-OutOfMemory-Exception/ta-p/2151392</link>
    <description>&lt;P&gt;During a Talend Job execution, an &lt;STRONG&gt;OutOfMemory&lt;/STRONG&gt; Java exception may occur. This exception means that the Job ran out of memory. This article explains the common reasons for memory overflow that leads to the &lt;STRONG&gt;OutOfMemory&lt;/STRONG&gt; Java exception, and offers some solutions and best practice.&lt;/P&gt;
&lt;P&gt;There are several reasons for an &lt;STRONG&gt;OutOfMemory&lt;/STRONG&gt; Java exception to occur. Most common reasons for it include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Running a Job that contains a number of buffer components, such as &lt;STRONG&gt;tSortRow&lt;/STRONG&gt;, &lt;STRONG&gt;tFilterRow&lt;/STRONG&gt;, &lt;STRONG&gt;tMap&lt;/STRONG&gt;, &lt;STRONG&gt;tAggregateRow&lt;/STRONG&gt;, and &lt;STRONG&gt;tHashOutput&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Running a Job that processes a very large amount of data.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The error displays on the console as shown below:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space at java.util.LinkedList.listIterator(Unknown Source) at java.util.AbstractList.listIterator(Unknown Source) at java.util.AbstractSequentialList.iterator(Unknown Source) at routines.system.RunStat.sendMessages(RunStat.java:261) at routines.system.RunStat.run(RunStat.java:225) at java.lang.Thread.run(Unknown Source)&lt;/FONT&gt;&lt;/P&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Resolution&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This article also provides some advice on how to allocate more memory. However note that the default memory setting should be sufficient for all normal Job executions.&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Job design optimization&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;There are different ways of optimizing your Job Designs in order to improve the performance. A number of components include some native parameters to help you optimize your Jobs.&lt;/P&gt;
&lt;P&gt;In Jobs that contain buffer components such as &lt;STRONG&gt;tSortRow&lt;/STRONG&gt; as well as &lt;STRONG&gt;tMap&lt;/STRONG&gt;, you can change the basic configuration to store temporary data on disk rather than in memory. For example, on &lt;STRONG&gt;tMap&lt;/STRONG&gt;, click the &lt;STRONG&gt;tMap&lt;/STRONG&gt; settings panel of Lookup flow and select the &lt;STRONG&gt;Store temp data&lt;/STRONG&gt; option as true.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uB58AAE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121600i8C923B16C6E08986/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uB58AAE.png" alt="0693p000008uB58AAE.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Then, set a directory path for temp data in the Basic settings panel.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uAoyAAE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122730iDABB2DA08BD96D6C/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uAoyAAE.png" alt="0693p000008uAoyAAE.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;You can also optimize your Jobs that use a &lt;STRONG&gt;tMysqlInput&lt;/STRONG&gt; component. In this case, select the option &lt;STRONG&gt;Enable stream&lt;/STRONG&gt; in the &lt;STRONG&gt;Advanced settings&lt;/STRONG&gt; panel to replace the usual buffering processing with a stream processing that allows the code to read from a large table without consuming a large amount of memory. This will optimize the performance.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Allocating more memory to one or several Jobs&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you cannot optimize the Job design, you can at least allocate more memory to the Job. The following sections describe how to allocate more memory to one Job via the Studio, to all Jobs via the Studio, or to a Job script outside the Studio.&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;One Job in Talend Studio&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open the Job to which you want to allocate more memory.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Run&lt;/STRONG&gt; view, open the &lt;STRONG&gt;Advanced Settings&lt;/STRONG&gt; tab and select the &lt;STRONG&gt;Use specific JVM arguments&lt;/STRONG&gt; box.&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Allocate more memory to the active Job by double-clicking the default JVM arguments and editing them:&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uB5DAAU.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125206i96306153ED3BDEDA/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uB5DAAU.png" alt="0693p000008uB5DAAU.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;BLOCKQUOTE class="quote"&gt;This change only applies for the active Job. &lt;BR /&gt;The JVM settings will persist in the job script, and take effect when the job is exported and is executed outside Talend Studio.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;All Jobs in Talend Studio&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;In Talend Studio, click the &lt;STRONG&gt;Window&lt;/STRONG&gt; menu, then select &lt;STRONG&gt;Preferences&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Under &lt;STRONG&gt;Preferences&lt;/STRONG&gt;, expand the &lt;STRONG&gt;Talend&lt;/STRONG&gt; node, and select&lt;STRONG&gt;Run/Debug&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Allocate more memory by editing the JVM parameters in the &lt;STRONG&gt;Job Run VM arguments&lt;/STRONG&gt; table:&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uAoZAAU.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124825iF2CDC5BC7FA1B6E4/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uAoZAAU.png" alt="0693p000008uAoZAAU.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;BLOCKQUOTE class="quote"&gt;This change is effective for all Jobs.
&lt;P&gt;The default setting should be sufficient for all normal Job executions, therefore this global change of JVM arguments is not recommended.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Job scripts outside the Studio&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;If you have exported the Job as a Job script, or you only have access to the Job script, you can allocate more memory by modifying the script file. To do so:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open the script file: &lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;EM&gt;yourJobName&lt;/EM&gt;_run.bat&lt;/STRONG&gt; &lt;/FONT&gt;or &lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;EM&gt;yourJobName&lt;/EM&gt;_run.sh.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Modify the JVM arguments (&lt;STRONG&gt;-Xms&lt;/STRONG&gt; and &lt;STRONG&gt;-Xmx&lt;/STRONG&gt;) as follows:&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;%~d0
 cd %~dp0
java -Xms256M -Xmx2048M -cp classpath.jar; shong.test_0_1.test --context=Default %*&lt;/PRE&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Cause &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;This issue can usually be solved by optimizing the job as described in the following section. However, if the Job cannot be optimized or if the problem still exists despite the Job having been optimized, then you need to allocate more memory for the Job to be able to process large amounts of data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Environment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&lt;LI-PRODUCT title="Talend Studio" id="qlik_TalendStudio"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 04 Dec 2025 02:35:17 GMT</pubDate>
    <dc:creator>TalendSolutionExpert</dc:creator>
    <dc:date>2025-12-04T02:35:17Z</dc:date>
    <item>
      <title>Qlik Talend Studio: OutOfMemory Exception</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Talend-Studio-OutOfMemory-Exception/ta-p/2151392</link>
      <description>&lt;P&gt;During a Talend Job execution, an &lt;STRONG&gt;OutOfMemory&lt;/STRONG&gt; Java exception may occur. This exception means that the Job ran out of memory. This article explains the common reasons for memory overflow that leads to the &lt;STRONG&gt;OutOfMemory&lt;/STRONG&gt; Java exception, and offers some solutions and best practice.&lt;/P&gt;
&lt;P&gt;There are several reasons for an &lt;STRONG&gt;OutOfMemory&lt;/STRONG&gt; Java exception to occur. Most common reasons for it include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Running a Job that contains a number of buffer components, such as &lt;STRONG&gt;tSortRow&lt;/STRONG&gt;, &lt;STRONG&gt;tFilterRow&lt;/STRONG&gt;, &lt;STRONG&gt;tMap&lt;/STRONG&gt;, &lt;STRONG&gt;tAggregateRow&lt;/STRONG&gt;, and &lt;STRONG&gt;tHashOutput&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Running a Job that processes a very large amount of data.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The error displays on the console as shown below:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space at java.util.LinkedList.listIterator(Unknown Source) at java.util.AbstractList.listIterator(Unknown Source) at java.util.AbstractSequentialList.iterator(Unknown Source) at routines.system.RunStat.sendMessages(RunStat.java:261) at routines.system.RunStat.run(RunStat.java:225) at java.lang.Thread.run(Unknown Source)&lt;/FONT&gt;&lt;/P&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Resolution&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This article also provides some advice on how to allocate more memory. However note that the default memory setting should be sufficient for all normal Job executions.&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Job design optimization&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;There are different ways of optimizing your Job Designs in order to improve the performance. A number of components include some native parameters to help you optimize your Jobs.&lt;/P&gt;
&lt;P&gt;In Jobs that contain buffer components such as &lt;STRONG&gt;tSortRow&lt;/STRONG&gt; as well as &lt;STRONG&gt;tMap&lt;/STRONG&gt;, you can change the basic configuration to store temporary data on disk rather than in memory. For example, on &lt;STRONG&gt;tMap&lt;/STRONG&gt;, click the &lt;STRONG&gt;tMap&lt;/STRONG&gt; settings panel of Lookup flow and select the &lt;STRONG&gt;Store temp data&lt;/STRONG&gt; option as true.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uB58AAE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/121600i8C923B16C6E08986/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uB58AAE.png" alt="0693p000008uB58AAE.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Then, set a directory path for temp data in the Basic settings panel.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uAoyAAE.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/122730iDABB2DA08BD96D6C/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uAoyAAE.png" alt="0693p000008uAoyAAE.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;You can also optimize your Jobs that use a &lt;STRONG&gt;tMysqlInput&lt;/STRONG&gt; component. In this case, select the option &lt;STRONG&gt;Enable stream&lt;/STRONG&gt; in the &lt;STRONG&gt;Advanced settings&lt;/STRONG&gt; panel to replace the usual buffering processing with a stream processing that allows the code to read from a large table without consuming a large amount of memory. This will optimize the performance.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Allocating more memory to one or several Jobs&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you cannot optimize the Job design, you can at least allocate more memory to the Job. The following sections describe how to allocate more memory to one Job via the Studio, to all Jobs via the Studio, or to a Job script outside the Studio.&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;One Job in Talend Studio&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open the Job to which you want to allocate more memory.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Run&lt;/STRONG&gt; view, open the &lt;STRONG&gt;Advanced Settings&lt;/STRONG&gt; tab and select the &lt;STRONG&gt;Use specific JVM arguments&lt;/STRONG&gt; box.&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Allocate more memory to the active Job by double-clicking the default JVM arguments and editing them:&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uB5DAAU.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/125206i96306153ED3BDEDA/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uB5DAAU.png" alt="0693p000008uB5DAAU.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;BLOCKQUOTE class="quote"&gt;This change only applies for the active Job. &lt;BR /&gt;The JVM settings will persist in the job script, and take effect when the job is exported and is executed outside Talend Studio.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;All Jobs in Talend Studio&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;In Talend Studio, click the &lt;STRONG&gt;Window&lt;/STRONG&gt; menu, then select &lt;STRONG&gt;Preferences&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Under &lt;STRONG&gt;Preferences&lt;/STRONG&gt;, expand the &lt;STRONG&gt;Talend&lt;/STRONG&gt; node, and select&lt;STRONG&gt;Run/Debug&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Allocate more memory by editing the JVM parameters in the &lt;STRONG&gt;Job Run VM arguments&lt;/STRONG&gt; table:&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="0693p000008uAoZAAU.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/124825iF2CDC5BC7FA1B6E4/image-size/large?v=v2&amp;amp;px=999" role="button" title="0693p000008uAoZAAU.png" alt="0693p000008uAoZAAU.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;BLOCKQUOTE class="quote"&gt;This change is effective for all Jobs.
&lt;P&gt;The default setting should be sufficient for all normal Job executions, therefore this global change of JVM arguments is not recommended.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Job scripts outside the Studio&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;If you have exported the Job as a Job script, or you only have access to the Job script, you can allocate more memory by modifying the script file. To do so:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open the script file: &lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;EM&gt;yourJobName&lt;/EM&gt;_run.bat&lt;/STRONG&gt; &lt;/FONT&gt;or &lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;&lt;EM&gt;yourJobName&lt;/EM&gt;_run.sh.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Modify the JVM arguments (&lt;STRONG&gt;-Xms&lt;/STRONG&gt; and &lt;STRONG&gt;-Xmx&lt;/STRONG&gt;) as follows:&lt;/P&gt;
&lt;PRE class="ckeditor_codeblock"&gt;%~d0
 cd %~dp0
java -Xms256M -Xmx2048M -cp classpath.jar; shong.test_0_1.test --context=Default %*&lt;/PRE&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Cause &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;This issue can usually be solved by optimizing the job as described in the following section. However, if the Job cannot be optimized or if the problem still exists despite the Job having been optimized, then you need to allocate more memory for the Job to be able to process large amounts of data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Environment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&lt;LI-PRODUCT title="Talend Studio" id="qlik_TalendStudio"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Dec 2025 02:35:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Talend-Studio-OutOfMemory-Exception/ta-p/2151392</guid>
      <dc:creator>TalendSolutionExpert</dc:creator>
      <dc:date>2025-12-04T02:35:17Z</dc:date>
    </item>
  </channel>
</rss>

