gpt4 book ai didi

amazon-web-services - AWS Fargate 及其内存管理

转载 作者:行者123 更新时间:2023-12-03 21:12:48 25 4
gpt4 key购买 nike

从 AWS 文档中我可以看到 CPUMemory AWS::ECS::TaskDefinition 中需要属性用于 Fargate 但不在 ContainerDefinition 中如果使用 Fargate,则在资源内。
这究竟是如何工作的?如果我没有在 ContainerDefinition 中指定它它将使用任务可用的尽可能多的资源?如果任务中只有一个容器......定义这些值是否有意义?如果需要它们,对我来说这似乎是多余和冗长的。

最佳答案

当您注册任务定义时,您可以指定用于该任务的总 CPU 和内存。这与容器定义级别的 cpu 和内存值是分开的。
如果使用 Fargate 启动类型,则这些任务定义字段是必需的,并且支持 cpu 和内存的特定值。这将是呈现给任务的 CPU/内存的硬限制。例如,如果您的任务配置为使用 1 个 vCPU 和 2 GB 内存,那么目前内存限制为 2 GB。如果在任何时候任务内存利用率超过 2 GB,任务将因 OutOfMemory 错误而终止。
任务大小:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size
您还可以在容器级别指定 cpu 和内存资源。这将是呈现给容器的资源量(一个任务可以有多个容器)。如果您的容器尝试超过此处指定的资源,则该容器将被终止。这些字段对于使用 Fargate 启动类型的任务是可选的,唯一的要求是为任务内所有容器保留的 cpu 和内存总量低于任务级 cpu 和内存值(如果指定)。
在容器级别,Docker 守护程序为容器保留至少 4 MiB 的内存,因此您不应为容器指定少于 4 MiB 的内存。
标准容器定义参数:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#standard_container_definition_params

关于amazon-web-services - AWS Fargate 及其内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62596554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com