2014-09-23 78 views
16

我想建立一个系统,在一致的条件下运行代码段,我想这是可能的一种方式是运行Docker容器中的各种程序具有相同的布局,保留相同数量的内存等。但是,我似乎无法弄清楚如何保持CPU使用率一致。限制码头集装箱到一个单一的CPU核心

我似乎可以找到的最接近的东西是“cpu共享”,如果我了解文档,就可以限制相对于系统上正在运行的其他容器/其他进程的cpu使用情况,以及系统上可用的内容。他们似乎不能将容器限制为绝对数量的CPU使用量。

理想情况下,我想设置将限于使用单个CPU核心的码头集装箱。这是可能吗?

回答

28

如果使用泊坞窗的新版本,你可以使用--cpuset-cpus=""docker run指定要分配的CPU内核:

docker run --cpuset-cpus="0" [...] 

如果使用泊坞窗的旧版本(< 0.9),这使用LXC作为默认执行环境,您可以使用--lxc-conf配置分配CPU核心:

docker run --lxc-conf="lxc.cgroup.cpuset.cpus = 0" [...] 

在这两种这些情况下,只有第一个CPU核心将是提供给搬运工CONTA核能研究所。这两个选项都记录在in the docker help