关于Kettle无法启动的问题,网上给出的大部分解决方案都是修改Spoon.bat / Spoon.sh脚本,主要是修改里面的JVM参数:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m" "-XX:MaxPermSize=256m"
修改为:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"
再说明下jvm的常用几个参数:
-Xms2058mJVM初始分配的堆内存
-Xmx1024mJVM最大允许分配的堆内存,按需分配
-XX:PermSize=128MJVM初始分配的非堆内存
-XX:MaxPermSize=256MJVM最大允许分配的非堆内存,按需分配
原因无非是:
1. -Xms 值超过 -Xmx值,初始值都大于最大值了怎么玩?
2. -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制,比如当前操作系统最大内存限制,简单来说就是电脑开的程序太多或者电脑本身内存较小,剩余的内存不够kettle使用。
还有一种原因非常少见,系统命令行编码的问