11

我最近开始使用 AWS Data Migration Service (DMS) 并遇到了一些问题。

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

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

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

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

4

1 回答 1

15

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

全 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

于 2019-05-20T13:14:37.720 回答