AWS ECS 中的内存利用率和 OOM 异常

AWS ECS 中的内存利用率和 OOM 异常

下面是 ECS 集群中我的一项服务的内存利用率图表。

在此处输入图片描述

正如您所看到的,内存短暂地飙升至 25%。

在这个集群中,我有 3 台t2.medium机器。规格说明说这些机器有 4GiB RAM。

我目前的问题:

我在 aws ecs 任务中运行 ImageMagicconvert作业,该进程因转换大文件而被终止(退出状态 137)。但是在我的本地 PC 上,相同的作业可以毫无问题地运行。

我的 aws ecs 任务定义为具有 1792MiB 的硬软件限制。(这是在 上运行至少两个任务的神奇数字t2.medium

我的问题是:

1) 如何理解图表?百分比的除数是多少?所有 ec2 实例的总内存是多少?不确定如何理解图表。

2)如何让内存使用更加灵活?大多数时候我convert不需要消耗大量的RAM。我希望容器可以共享未使用的内存。

答案1

这是因为我在任务定义中使用了硬限制。它对容器可以使用的 RAM 设置了上限,因此导致convert失败。相反,我应该使用软限制并将其设置为较低的 RAM 使用率。它将允许容器使用 ec2 实例可以提供的尽可能多的 RAM。

相关内容