我通过将 cpuset 指定为 1 个内核来启动一个 docker 容器:
docker run --cpuset-cpus="0"...
第二个通过将 cpuset 指定为 4 个核心:
docker run --cpuset-cpus="0-3"...
我在每个容器中启动了一个加载过程,并监控了两个容器的 CPU 消耗。
加载过程如下:
ffmpeg input > output
我观察到两个容器之间的执行时间没有改善(没有加速)。
你知道为什么没有改进吗?具有 4 个核心的容器应该比 1 个核心容器运行得更快,对吗?
注意:将顶部用于 1core 容器
CPU0%=100%
CPU1%=0
CPU2%=0
CPU3%=0
使用 top 作为 4core 容器,docker 随机选择 4 个核心之一来启动进程。有时它会影响每个核心的 30%
CPU0%=0 CPU0%=30% CPU0%=0
CPU1%=100% or CPU0%=30% or CPU0%=0
CPU2%=0 CPU0%=30% CPU0%=0
CPU3%=0 CPU0%=30% CPU0%=100%