2017-08-14 205 views
1

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

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的默认值?

+0

这些值荒谬小:/ –

回答

0

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

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

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

0

限制是最大码头将用于容器。 保留是它将为容器预留多少,即防止使用其他容器。

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

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