Docker – cpu限制configuration

我想设置cpu资源的限制,并在下面find这个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的默认值?

默认情况下,容器对主机的cpu有无限的访问权限。 限制允许您configuration可用于容器的资源。

0.001的cpus值将意味着对于每一秒,容器可用1毫秒。

当你想到具有多重cpus的主机时,大于1的值是有意义的。 例如,值2将意味着容器将被授予访问最多2个处理单元。

限制是docker工人将用于容器的最大限度。 保留多less将为容器预留,即防止其他容器使用。

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

这个答案有一些图表显示效果。