在使用Kettle工具抽取Excel经常会遇到如下错误:
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.OutOfMemoryError: Java heap space)
Caused by: java.lang.OutOfMemoryError: Java heap space
解决办法:
修改kettle的配置文件,我个人用的这种方式。
在kettle的运行路径中,用文本编辑器打开Spoon.bat,找到:
if
"%PENTAHO_DI_JAVA_OPTIONS%"
==
""
set PENTAHO_DI_JAVA_OPTIONS=
"-Xmx4096m"
"-XX:MaxPermSize=4096m"
最好将其中-Xmx1024m加大最好是256的整数倍
修改MaxPermSize最大值,运行时最大,也可以。
提高kettle执行效率的两种方式
一、加大jvm的虚拟内存
这个上面已经提到如何修改了
二、提交行数的加大
这个在【表输出】step中,双击它会看到配置窗口,然后找到commit size ,根据你的内存调整一个适当的大小就行了