AWS DMS 复制实例内存不足

gap*_*ion 8 amazon-web-services aws-dms

我最近开始使用 AWS 数据迁移服务 (DMS) 并遇到了一些问题。

目前正在尝试将 10GB 的 Oracle 数据库迁移到 AWS RDS Postgres。工作,但有疯狂的(?)内存要求。感觉就像将整个数据库加载到内存中......从dms.r4.large(15.5GB)开始, 但can not allocate memory在大约之后。98%.... 运行流畅dms.r4.xlarge(30.5GB)

复制任务运行期间的内存消耗

正如您在屏幕截图中看到的(可用内存,最小值),当任务完成(或崩溃)时,在所有内存被释放之前,实例一直在“满”运行。

是否有任何设置可以改变这一点,为什么它会这样?它使整个任务变得不必要昂贵......

gap*_*ion 13

正如 AWS 所确认的,这确实是最新引擎 (v3.1.3) 的一个错误。AWS 提供了以下额外见解来估计实际内存要求:

Full LOB 模式(使用单行插入+更新,提交率)

内存:(表中 lob 列的数量)x(并行表数,默认为 8)x(lob 块大小)x(满载期间的提交率)= 2 * 8 *64(k) * 10000k

注意:您可以考虑降低“满载期间的提交率”值,因为我们大致使用上述方法分配内存

受限 LOB 模式(使用数组)

内存:(表中 lob 列的数量)x(并行表的数量,默认为 8)x maxlobSize x bulkArraySize = 2 * 8 * 4096(k) * 1000

  • 我假设它等于提交率(批量大小) (2认同)