中国移动磐维数据库(ChinaMobileDB),简称“磐维数据库”(CMDB)。是中国移动信息技术中心首个基于中国本土开源数据库打造的面向ICT基础设施的自研数据库产品。
其产品内核能力基于华为 OpenGauss 开源软件,并进一步提升了系统稳定性。
本文介绍磐维数据库的dtp迁移工具在使用过程中使用内存不足进行JVM调优的教程,希望可以帮助到在数据迁移过程中遇到此类问题的小伙伴。
一、问题背景
我们在工作当中,进行数据迁移改造适配时,会使用到dtp迁移工具,正常我们都是一个迁移任务一个迁移任务去跑,这种情况下dtp的初始堆内存256MB和最大堆内存4GB默认配置是足够的,不会影响我们正常使用,但是当我们工程期比较紧张时,难免要加快数据迁移速度,会出现同时跑多个迁移任务的情况出现,此时如果使用初始堆内存256MB和最大堆内存4GB的默认配置,任务量大时会把内存占满,造成dtp进程oom,迁移任务异常终止的情况。

二、解决方案
为解决上述问题,dtp迁移工具支持jvm调优,通过修改初始堆内存和最大堆内存的配置,可以让dtp进程使用内存量增大,解决运行多个任务时造成dtp进程oom重启的问题。
配置建议
最大堆内存-Xmx:配置为服务器物理内存的1/4。
初始堆内存-Xms:配置为服务器物理内存的1/4。
配置方式如下:
使用如下命令查看dtp状态
systemctl status panwei_dtp
可以找到配置文件所在位置:/etc/systemd/system/panwei_dtp.service
使用cat命令查看配置文件

我们通过调整Xms和Xmx来完成JVM调优,调整完成后要重启dtp生效,但是在重启之前要注意,需要先加载配置再重启
systemctl daemon-reloadsystemctl restart panwei_dtp
注:panwei_dtp使用专用机器,以上两个值可适当调高。将最大堆内存与初始堆内 存配置为同样值,可以避免堆内存频繁地扩大和缩小导致的性能消耗。对于dtp独享的机器,推荐配置为全量+增量+kafka占总内存的80%以下。对于dtp与其它应用共享的机器,推荐配置为全量、增量占总内存的1/4左 右(具体需要分析其它应用内存占用而灵活设定)。




