首页 > 解决方案 > AWS Fargate“memoryReservation”——为什么?

问题描述

我很难理解 AWS ECS Fargate 上的内存管理。

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

为什么要在 Fargate 上定义 Reserverd 内存?我可以理解 EC2 实例类型(选择具有足够可用内存的实例)但在 Fargate 上,aws 应该将任务放在具有足够可用内存的实例上吗?

标签: amazon-web-servicesaws-fargate

解决方案


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

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

这对您在一个任务定义中有两个或多个容器很有帮助,为了更清楚地说明这一点,我们可以查看这个示例

在此处输入图像描述

在此示例中,我们为 WordPress 分配 128 MB,为 MySQL 分配 128Mb,它们变为 256MB,这是任务级别内存的一半,但我们不希望容器因使用最大内存而停止,因此我们将硬内存限制设置为 512并且一个容器将到达此代理将杀死容器。

在此处输入图像描述

深入了解 aws-fargate


推荐阅读