【问题标题】:What does 'cpu' parameter mean in aws container service?aws容器服务中的'cpu'参数是什么意思?
【发布时间】:2017-04-01 02:51:58
【问题描述】:

我要在容器服务中为 t2.medium 注册一个新任务。 我看到了 cpu 参数等于 0 的示例。 我正在尝试找出它是什么以及我需要在此处放置多少来完成一项任务。

我能根据这个问题找到的所有内容: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html?shortFooter=true http://docs.aws.amazon.com/AmazonECS/latest/developerguide/example_task_definitions.html

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-sdk


    【解决方案1】:

    "为容器预留的cpu单元数。一个容器 每个 CPU 内核都有 1,024 个 CPU 单元。这个参数 指定为容器保留的最小 CPU 量,以及 容器与其他容器共享未分配的 CPU 单元 实例的比例与其分配的数量相同。这个参数 映射到 Docker 的 Create a container 部分中的 CpuShares 远程 API 和 docker run 的 --cpu-shares 选项。”

    一个 t2.medium 有 2 个 vCPU,因此它有 2,048 个可用的 CPU 单元可供调度。如果您只想在主机上运行一个容器,您可以预算所有 2,048 个 CPU 单元,但不会在该主机上放置其他容器。

    始终保证容器在需要时至少获得预算中的 CPU。此外,关于 CPU 单元的一个巧妙之处在于,如果没有其他容器占用资源,一个容器可以在其分配的单元之上爆发。例如,如果您有两个任务在 t2.medium 上运行,每个任务都有 1,024 个预算 CPU 单元,那么在另一个任务完全空闲的情况下,每个任务可以单独突增到 2,048 个。当您开始以这种方式共享主机时,您可以真正从使用 ECS 中节省成本。

    另外,如果所有的 CPU 单元都没有被预算出,ECS 会自动按照每个容器的预算 CPU 单元的比例将剩余的 CPU 单元分配给每个容器。因此,如果您有两个任务在 t2.medium 上运行,每个任务都有 0 个 CPU 单元,那么每个容器将有效地获得 1,024 个 CPU 单元,因为没有其他容器保留它们。

    这里需要注意的一点是内存的工作方式有点不同。这是一个硬性限制。如果容器试图分配比预算更多的内存,任务/容器将退出。您可以配置不足的 CPU 单元并且通常可以侥幸成功(因为容器可能会超出其配置),但您需要确保保持在内存限制范围内。


    示例: 如果将其设置为 0,它将占用一定比例的未预留 CPU。假设这些场景是在具有 2,048 个 CPU 单元的 t2.mediums 上:

    任务 #1 - 0 个 CPU 单元, 任务 #2 - 0 个 CPU 单元: 在这种情况下,Task#1 和 Task#2 都将获得 1,024 个 CPU 单元,因为有 2,048 个未保留单元。由于任务是 1:1 预留 CPU 单元,因此它们都将获得同等份额的可用 CPU 单元。

    任务 #1 - 0 个 CPU 单元, 任务 #2 - 1,024 个 CPU 单元: 任务 #2 将获得 2,048 个 CPU 单元,而任务#1 将获得 0,因为它试图以 0:1,024 的比例分配 1,024 个未使用的 CPU 单元。

    任务 #1 - 0 个 CPU 单元: 如果机器上只有一个任务,它将被分配所有 2,048 个 CPU 单元,因为所有单元都未使用,它们按照预留的比例在容器中分配。

    【讨论】:

    • 感谢您帮助我,但我还有一个问题。如果我将 cpu 设置为零并且我们这里有默认值会发生什么?提前致谢。
    • 我添加了几个例子。
    • 很好的答案,谢谢!在您的示例中的第 3 个场景中,task#1 有 0,task#2 有 1024 个单位,给定 2048 个单位。这仍然意味着 task#1 可以针对所有任务对所有未使用的单元进行爆破,对吗? @louahola
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 2017-01-27
    • 1970-01-01
    相关资源
    最近更新 更多