《自己动手写Docker》书摘之五: 增加容器资源限制
增加容器资源限制 上一节中,我们已经可以通过命令行mydocker run -ti的方式创建并启动容器,这一节我们将通过Cgroup对容器的资源进行控制。 这一节中我们将实现通过mydocker run -ti -m 100m -cpuset 1 -cpushare 512 /bin/sh的方式控制容器容器的内存和CPU配置。 定义Cgroups的数据结构 上一章中我们介绍了Cgroups包含的三个概念: cgroup hierarchy中的节点,用于管理进程和subsystem的控制的关系。 subsystem 作用于hierarchy上的cgroup节点,并控制节点中进程的资源占用。 hierarchy 将cgroup通过树状的结构串起来,并通过虚拟文件系统的方式暴漏给用户。 根据上面三个概念的关系,我们先创建出下面的数据结构: packa