【问题标题】:AWS DMS replication instance out of memoryAWS DMS 复制实例内存不足
【发布时间】:2019-09-29 16:05:07
【问题描述】:

我最近开始使用 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) 可以顺利运行

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

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

【问题讨论】:

    标签: amazon-web-services aws-dms


    【解决方案1】:

    正如 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

    【讨论】:

    • 什么是 bulkArraySize?
    • 我假设它等于提交率(批量大小)
    • 我认为也是这样。感谢您分享这个公式,这周对我来说是救命稻草。
    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 2020-05-13
    • 2019-09-05
    • 1970-01-01
    • 2022-10-09
    • 1970-01-01
    相关资源
    最近更新 更多