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輸出確實沒有多大的改動,但是~~~~
現在從數據庫讀取數據真的快了十好幾倍。。。