Show Table of Contents
2.5. 创建控制组群
请使用
cgcreate 命令创建 cgroup。cgcreate 的语法为:cgcreate -t uid:gid -a uid:gid -g subsystems:path ,其中:
-t(可选)- 指定用户(使用用户 ID,uid)和组群(使用组群 ID,gid)以便让这个 cgroup 拥有tasks伪文件。这个用户可在该 cgroup 中添加任务。注意
请注意:从 cgroup 中删除任务的唯一方法是将其移动到不同的 cgroup中。要移动任务,该用户必须有目的 cgroup 的写访问。对源 cgroup 的写访问并不重要。-a(可选)- 指定用户(使用用户 ID,uid)和组群(使用组群 ID,gid)以便这个 cgroup 拥有tasks外的所有伪文件。这个用户可修改这个 cgroup 中的任务对系统资源的访问。-g-- 指定在其中创建 cgroup 的层级,格式为与那些层级关联的用逗号分开的 subsystems 列表。如果这个列表中的子系统在不同的层级中,则要在每个层级中都创建该组群。层级列表后是一个冒号,然后是与该层级有关的子组群 path。不要在该 path 中包含层级挂载点。例如:目录/cgroup/cpu_and_mem/lab1/中的 cgroup 称为lab1-- 其路径已唯一确定,因为对于给定的子系统最多有一个层级。还请注意该组群可由创建该 cgroup 的现有层级中的所有子系统控制,即使没有在cgcreate命令中指定这些子系统 -- 请参考 例 2.5 “cgcreate 用法”。
因为同一层级中的所有 cgroup 有相同的控制器,该子组群与其父 cgroup 有相同的控制器。
例 2.5. cgcreate 用法
请考虑在
cpu_and_mem 层级中一同挂载 cpu 和 memory 子系统的系统,并将 net_cls 控制器挂载到名为 net 的另一个层级中。我们现在运行:
~]# cgcreate -g cpu,net_cls:/test-subgroupcgcreate 命令创建两个组群,名为 test-subgroup,一个位于 cpu_and_mem 层级,一个位于 net 层级。cpu_and_mem 层级中的 test-subgroup 组群由 memory 子系统控制,即使在 cgcreate 命令中没有指定它也是如此。
备用方法
请使用
mkdir 命令直接创建 cgroup 的子组群:
~]# mkdir /cgroup/hierarchy/name/child_name
例如:
~]# mkdir /cgroup/cpuset/lab1/group1
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.