在 Ubuntu 14.04 下使用 cgroups 和 Docker 已翻译 100%

oschina 投递于 2015/04/06 07:33 (共 2 段, 翻译完成于 04-07)
阅读 6042
收藏 62
3
加载中

作为我在ApacheCon工作的一份呈现,我正在Docker内部使用一些cgroups 。

我发现这方面的文档很少,所以我想把它们合到一块发一篇关于它的博客。

启用LXC驱动

假设你已经在Ubuntu 14.04上安装了Docker,你仍旧需要启用LXC驱动。

要开启该项,你需要这样做

$ apt-get install -y lxc
$ echo 'DOCKER_OPTS="--exec-driver=lxc"' \    | tee -a /etc/default/docker
$ service docker restart`

启用两个不没有cgroup策略的容器

让我们先加载两个容器,两个的CPU都要最大化(通过运行md5sum /dev/urandom)

$ docker run -d busybox md5sum /dev/urandom
$ docker run -d busybox md5sum /dev/urandom

Docker containers running without cgroup policy

正如预期的,我们可以看到这些容器完全使用了每一个CPU内核。

Garfielt
翻译于 2015/04/07 09:42
1

启用两个没有cgroup策略的容器

现在让我们通过添加两条cgroup策略启用新的LXC选项。我们想要做的是运行相同的工作负荷且运行在相同CPU内核。我们期望它会占有CPU50%。而且,我们想给其中一个容器80%的CPU共享,其他一个共享20%。要做到这一点,我们使用‘cpu.shares’来分配CPU并使用‘cpuset.cpus’锁定容器到同一个CPU内核。

用低优先级启动容器:

$ docker run -d --name='low_prio' \    --lxc-conf="lxc.cgroup.cpu.shares=250" \ 
--lxc-conf="lxc.cgroup.cpuset.cpus=0" \
busybox md5sum /dev/urandom

用高优先级启动容器:

$ docker run -d --name='high_prio' \    --lxc-conf="lxc.cgroup.cpu.shares=750" \ 
--lxc-conf="lxc.cgroup.cpuset.cpus=0" \
busybox md5sum /dev/urandom

Docker containers running with cgroup policy

正如你所看到的,它奏效了!折腾快乐!

Garfielt
翻译于 2015/04/07 09:49
2
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(10)

慕小怪
慕小怪

引用来自“扁豆焖面先生”的评论

@慕小怪 把x86 BIOS中的intel virtual tech打开,应该可以支持虚拟x64了。

引用来自“慕小怪”的评论

不行,电脑太老了,cpu本身不支持

引用来自“hantsy”的评论

有些 BIOS 没这个设置,,,我之前的本本检测是有intel-vt 功能但 BIOS 中找不到开启。
额,还有这种情况的,,
hantsy
hantsy

引用来自“扁豆焖面先生”的评论

@慕小怪 把x86 BIOS中的intel virtual tech打开,应该可以支持虚拟x64了。

引用来自“慕小怪”的评论

不行,电脑太老了,cpu本身不支持
有些 BIOS 没这个设置,,,我之前的本本检测是有intel-vt 功能但 BIOS 中找不到开启。
asdfsx
asdfsx
启用两个不没有cgroup策略的容器~~~~这样的翻译也能通过~~~~混事呢~~~~
慕小怪
慕小怪

引用来自“扁豆焖面先生”的评论

@慕小怪 把x86 BIOS中的intel virtual tech打开,应该可以支持虚拟x64了。
不行,电脑太老了,cpu本身不支持
开源中国最大五毛
开源中国最大五毛
启用两个不没有cgroup策略的容器
5th_days
5th_days
写的是个傻啊
5292401
5292401
@慕小怪 把x86 BIOS中的intel virtual tech打开,应该可以支持虚拟x64了。
sevk
sevk
cgroups inside Docker.。。
justintung
justintung
比机器翻译的还让人无法理解
慕小怪
慕小怪
我是32位的,也是醉了
返回顶部
顶部