2017-08-14 141 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有一些圖表顯示效果。