docker运行“--cpus”标志令人困惑

问题描述 投票:0回答:1

我指的是--cpusdocker run国旗。

文档说明标志中提供的数字是可用CPU数量的数量,我发现这是不真实的。

从文档:

--cpus=0.000    Number of CPUs. Number is a fractional number. 0.000 means no limit.

来自limit resources文档:

--cpus=<value>  Specify how much of the available CPU resources a container can use. For instance, if the host machine has two CPUs and you set --cpus="1.5", the container is guaranteed at most one and a half of the CPUs. This is the equivalent of setting --cpu-period="100000" and --cpu-quota="150000". Available in Docker 1.13 and higher.

我在具有2个cpus的docker容器中尝试了上面的确切内容,这导致docker stats的CPU%使用率为100%(应该是75%)。与以下声明相同的结果:

docker run --cpus 1.5 ...
docker run --cpus=1.5 ...
docker run --cpus="1.5" ...

当我尝试设置值0.5时:

docker run --cpus 0.5 ...

docker stats的CPU资源限制为50%,这不符合docker提供的文档,因为docker stats CPU%的结果应该是25%(2个CPU,0.5个CPU可用,结果占CPU容量的25%)

我试图找出为什么我对文档的看法与我的结果有所不同,可能是我对docker stats的CPU%的错误解释,或者是docker提供的错误文档,在后一种情况下,我可以报告回到Docker。

我在Mac上运行版本Version 18.03.1-ce-mac65 (24312)

docker resources cpu
1个回答
0
投票

docker stat命令显示计算乘以CPU内核数,例如:如果您的主机有4个内核且任何应用程序使用100%CPU,那么docker stats输出就像400%,在您的情况下,它报告正确的值,因为您限制为0.5个核心意味着它1/2核心(1核50%)

© www.soinside.com 2019 - 2024. All rights reserved.