如何避免mydumper、dumpling导出导致OOM

【TiDB 使用环境】生产环境
【TiDB 版本】v4.0.6
【操作系统】Linux7
【问题】
在做一个异端DB迁移:TIDB-OCEANBASE
选择了mydumper工具进行导出,myloader工具进行导出。新加了一个tidbserver节点(256G内存)专门做导数,开了8个线程,肉眼可见的tidbserver机器内存飙高然后OOM,请问有什么办法可以控制一下内存的最大值(DB端和工具端都行),网上查的一些方法例如以下的都不行
|–chunk-filesize|减小单文件大小,避免一次性读取过多数据到内存|
|–rows|按行数分块导出,限制单次事务处理的数据量。|
|–compress|启用压缩输出,减少磁盘写入数据量(间接降低内存 I/O 压力)|
用dumpling也是会爆掉
看了个相关的帖子 dumpling导致tidb节点oom - #23,来自 h5n1
里面说是这个版本的bug?还有什么好办法呢?

–params “tidb_enable_chunk_rpc=0” 临时用这个参数试试,建议升级

1 个赞

mydumper不支持加这类传参 :rofl:4.0.6的toml加了这个也不好使 :clown_face:


tidb 升级吧,4.0 太老了。新版本确实有相关优化。
升级之后用 dumpling 备份出来吧

dumpling 临时加这个参数 –params “tidb_enable_chunk_rpc=0” mydumper工具不是官方的

先升级到最新版本哈,别纠结~ v4.0.6 已经 EOL 了,社区用户这边大部分都是 v6 以上集群规模了。

这个行不行?

dumpling倒是可以限制。归档文档不支持搜索,只能一点点找。 :joy:

先升级版本,v4 版本过了产品生命周期了

主要问题在于已经确认是个bug了,不升级就挺难搞的。

升级版本

升级版本吧

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。