AWS Fargate "memoryReservation" - 为什么?

AWS Fargate "memoryReservation" - why?

我在理解 AWS ECS Fargate 上的内存管理时遇到了一些困难。

我们可以为我们的容器设置一个 memoryReservation,并为我们的任务设置一个“memory”限制。

为什么要在 Fargate 上定义保留内存?我可以理解 EC2 实例类型(select 具有足够空闲内存的实例)但是在 fargate 上,aws 应该将任务放在具有足够空闲内存的实例上吗?

任务内存是所有容器可用的总内存(它的硬上限)

memoryReservation 是软下限,如果需要,容器可以使用更多内存。

这对您在一个任务定义中有两个或多个容器很有帮助,为了进一步阐明这一点,我们可以查看此示例

在这个例子中,我们为 WordPress 分配了 128 MB,为 MySQL 分配了 128Mb,变成了 256MB,这是任务级内存的一半,但我们不希望容器因为使用 max 而停止的情况内存,所以我们将硬内存限制设置为 512,并且一个容器将达到此值,代理将终止容器。

deep-dive-into-aws-fargate