AWS ECS中的内存利用率和OOMexception

以下是ECS集群中我的服务之一的MemoryUtilization的图表。

在这里输入图像说明

正如你所看到的,记忆力短暂地高达25%。

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

我目前的问题:

我正在aws ecs任务中运行ImageMagic convert作业,并且转换大文件(退出状态137)时死亡。 但是在我的本地PC上,同样的工作可以毫无问题地运行。

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

我的问题是:

1)如何理解graphics? 百分比除数是多less? 所有ec2实例的总内存? 不知道如何理解图表。

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

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