ITPub博客

首页 > 数据库 > 国内数据库 > 【YashanDB 知识库】kettle 同步大表提示 java 内存溢出

【YashanDB 知识库】kettle 同步大表提示 java 内存溢出

原创 国内数据库 作者:qiaoyikefu 时间:2025-02-22 14:00:01 0 删除 编辑

【问题分类】数据导入导出

【关键字】数据同步,kettle,数据迁移,java 内存溢出

【问题描述】kettle 同步大表提示 ERROR:could not create the java virtual machine!

【问题原因分析】java 内存溢出

【解决/规避方法】

①增加 JVM 的堆内存大小。编辑 Spoon.bat,增加堆大小到 2GB,如:

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m" "-Dsun.jnu.encoding=UTF8" 
#其中-Xms是初始堆大小,-Xmx是最大堆大小。

②优化 Kettle 转换。检查步骤是否有优化空间,例如通过调整批量大小、优化数据库查询、减少不必要的步骤等。

③通过 PARALLELISM 参数的值合理设置并行线程数,如:

time PENTAHO_DI_JAVA_OPTIONS=-DPARALLELISM=4 sh /home/kettle/data-integration/pan.sh -file=/home/kettle/data-integration/test/dir_ktr1/public.T1.k
 tr > /home/kettle/data-integration/test/logs1/public.T1.log

【影响范围】所有版本

【修复版本】-

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70043300/viewspace-3073324/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2025-01-14

  • 博文量
    206
  • 访问量
    188308