Docker - cpu限制配置

时间:2017-08-14 06:29:26

标签: docker

我想设置cpu资源的限制,并在下面找到这个docker-compose设置文件。

version: '3'
services:
  redis:
    image: redis:alpine
    deploy:
      resources:
        limits:
          cpus: '0.001'
          memory: 50M
        reservations:
          cpus: '0.0001'
          memory: 20M

但我不知道这里的0.001意味着什么。它将占总CPU容量的0.1%?并且有些文件说它可以设置超过1.如果我设置超过1会发生什么?

什么是resource.limits.cpus和resource.limits.cpus.memory的默认值?

2 个答案:

答案 0 :(得分:0)

默认情况下,容器可以无限制地访问主机的cpu。限制允许您配置容器可用的资源。

cpus值为0.001表示每一秒钟,容器可用1毫秒。

当您考虑具有multi-cpus的主机时,大于1的值将有意义。例如,值为2意味着容器最多可以访问2个cpus。

答案 1 :(得分:0)

limits 是最大的docker将用于容器。 预订是为容器留出多少钱,即阻止其他容器使用。

CPU在单个CPU上以秒的百分比来度量。因此,您所拥有的示例将限制为CPU的1%(1ms / s),这可能对某些I / O绑定任务有用。 ' 1.0'将允许一个CPU完全使用,更高的值将允许多个CPU分配(或保留)到容器。

This answer有一些图表显示效果。