OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

6.10. 控制组


控制组 (cgroups) 是一个内核功能,提供分层任务分组和每个 cgroup 的资源记帐和限制。 它们在容器中用于限制块和字符设备访问并冻结(挂起)容器。 它们可以进一步用于限制内存使用和阻止 i/o,保证最小的 cpu 份额,并将容器锁定到特定的 cpu。


默认情况下,特权容器 CN 将分配给名为的 cgroup /lxc/CN. 在名称冲突(使用自定义 lxcpaths 时可能发生)的情况下,后缀“-n”(其中 n 是从 0 开始的整数)将附加到 cgroup 名称。


默认情况下,特权容器 CN 将分配给名为的 cgroup CN 例如在启动容器的任务的 cgroup 下 /usr/1000.user/1.session/CN. 容器根将获得目录(但不是所有文件)的组所有权,以便允许创建新的子 cgroup。


从 Ubuntu 14.04 开始,LXC 使用 cgroup 管理器 (cgmanager) 来管理 cgroup。 cgroup 管理器通过 Unix 套接字接收 D-Bus 请求 /sys/fs/cgroup/cgmanager/sock. 为了便于安全嵌套容器,该行


lxc.mount.auto = cgroup


可以添加到容器配置中,导致 /sys/fs/cgroup/cgmanager 要绑定挂载到容器中的目录。 容器反过来应该启动 cgroup 管理代理(如果容器中安装了 cgmanager 包,则默认完成)这将移动 /sys/fs/cgroup/cgmanager 目录 /sys/fs/cgroup/cgmanager.lower,然后开始在自己的套接字上侦听对代理的请求 /sys/fs/cgroup/cgmanager/sock. 主机 cgmanager 将确保嵌套容器无法逃脱其分配的 cgroup 或发出未经授权的请求。


OnWorks 的顶级操作系统云计算: