【问题标题】:Resource utilizations in Docker Swarm and MesosDocker Swarm 和 Mesos 中的资源利用
【发布时间】:2021-03-13 02:36:33
【问题描述】:

我在 Docker Swarm UCP(使用 compose.yml 文件)和 Mesos(使用 marathon.json 文件)中将我的应用程序作为 docker 容器运行。

我在两个文件中都添加了资源约束。

compose.yml:

resources:
  limits:
    cpus: '0.50'
    memory: 50M
  reservations:
    cpus: '0.25'
    memory: 20M

marathon.json:

"cpus": 0.50,
"mem": 128.0,
"disk": 5.0

我发现内存是硬限制,cpu 是软限制。即 cpu 限制仅适用于权重和优先级。如果 mesos cpu 为 1,并且如果两个应用程序运行一个使用 0.4 cpu 而另一个使用 0.6 cpu,则应用程序一将获得 40% 的 cpu 周期,而应用程序二将获得 60% 的 cpu 周期。

那么这里compose.yml文件中的limit和reservation有什么用呢?

现在我正在尝试了解以下内容

  1. 这种资源限制是如何工作的?

  2. 当容器超过这些值时会发生什么?

【问题讨论】:

    标签: docker docker-compose docker-swarm mesos marathon


    【解决方案1】:

    reservations 表示容器不会在该节点的某个节点上启动,该节点没有足够的可用资源来遵守此约束。

    limits 表示当容器中的进程达到该限制并尝试分配更多时,它将被强制终止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 2017-07-16
      • 2018-08-28
      • 1970-01-01
      • 2021-01-03
      相关资源
      最近更新 更多