我想设置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的默认值?
答案 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有一些图表显示效果。