1、查看本地JVM内存大小
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指 定,默认是物理内存的1/4。默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、 -Xmx相等以避免在每次GC 后调整堆的大小。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行堆内存设置,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值,建议堆的最大值设置为可用内存的最大值的80%。
2、根据本地大小设置kettle对应的内存
kettle在设置内存是需要根据本地内存的大小设置相对应的内存。
我当前的主机是8GB的内存,JVM运行时最大可以用2GB(8GB的1/4)。
在kettle设置JVM内存时,一般来说网上参考是最大堆栈内存不超过总内存的3/8有的也说是 一半,总之得有个度。
修改spoon.bat:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms7680m" "-Xmx7680m" "-XX:MaxPermSize=3840m"
3、比较修改之后效率提升比例
目前进行excel输出的速度~~~15条/秒---》
更改完之后----快了一点点 忽略不计吧
excel输出确实没有多大的改动,但是~~~~
现在从数据库读取数据真的快了十好几倍。。。