为什么Docker将我的容器的CPU使用率限制在100%的Raspberry上

时间:2018-04-09 21:16:35

标签: performance docker video-streaming raspberry-pi3

我在RaspberryPi 3上运行Raspbian上的最新docker版本。

我有一个用相机拍照,压缩并通过网络发送的程序。

当我在docker之外运行程序时,我可以看到使用top它不断消耗大约130%的CPU(4cores x 100%的覆盆子)。常量压缩是程序的CPU密集型部分,但它设法压缩大约32 fps。

当我在docker容器中运行完全相同的程序时,我可以在顶部看到它只使用100%cpu(仍然分布在核心之间)。这个程序只能以大约23 fps压缩。

我尝试传递--cpus标志,但它返回了一个错误:

docker: Error response from daemon: NanoCPUs can not be set, as your kernel does not support CPU cfs period/quota or the cgroup is not mounted.

注意:我做了很多测试,网络不是问题。

1 个答案:

答案 0 :(得分:0)

我想我发现了问题。

通过Dockerfile创建图像时,它下载了我在代码中使用的不同版本的库。所以从技术上讲,它运行的是与主机上运行的代码不同的代码,而不是码头工具问题。