微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DMS 复制实例 - 可用内存接近于零

如何解决DMS 复制实例 - 可用内存接近于零

我们已经运行这个 DMS 复制实例大约 2 个月了,它有时会由于以下错误而失败:

Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL.

只有 1 个任务正在运行,它将 full Load + ongoing changes 从 RDS Postgres 中的 5 个表(约 500 万行)捕获到 S3 存储桶中。复制实例是 DMS 版本 3.4.3 上的 dms.r5.xlarge。每次失败我们只是升级实例大小(根据网上看到的解决方案),但我担心这个问题会持续存在。

根据 cloudwatch 指标,可用内存、可用内存和可用内存都随着时间的推移而减少,直到崩溃。交换使用率一直保持为零,直到它崩溃之前,它会飙升。

Freeable Memory

有人知道这可能是什么吗?我们是否只是使用了太小的实例大小?我觉得我们的配置很基本。

解决方法

回顾以下文章可能会有好处:

https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-1/

一般来说,持续复制是一种内存密集型操作。您可能需要适当增加复制实例的内存占用。

建议的另一种策略是拆分跨多个复制实例的复制,因为您有 5 个表,您可能会创建一组较小的复制实例,每个实例处理单个或较小的一组表。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。