4

我是使用 cgroup 的新手。我在 CentOS 64 上使用 libcgroup 管理 cgroup。我设法创建了一些 cgroup,例如

[ehsan.haq@datavault ~]$ cgcreate -g blkio:/test
[ehsan.haq@datavault ~]$ cgcreate -g cpu:/test

可以说,我有一个父进程125672及其子进程33117, 33403, 33404, 33880, 34663

[ehsan.haq@datavault ~]$ pgrep -P 125672
33117
33403
33404
33880
34663

我想要的是移动父进程125672及其现有子进程33117, 33403, 33404, 33880, 34663以及?,?,?cgroupsblkio:/testcpu:/test. 实现这一目标的正确方法是什么?

我努力了

cgclassify -g blkio:/test [--sticky] 125672
cgclassify -g cpu:/test [--sticky] 125672

但是cgroup.procsandtasks文件只包含父进程ID。

[ehsan.haq@datavault ~]$ cat /cgroup/blkio/test/cgroup.procs
125672
[ehsan.haq@datavault ~]$ cat /cgroup/blkio/test/tasks
125672

这是否意味着子进程不在父母cgroup中?如果不是那么我应该怎么做。

更新

我发现cgclassify如果我这样做,而不是使用

echo "{parent PID}" > /cgroup/blkio/test/tasks

那么所有未来的子进程也最终在/cgroup/blkio/test/cgroup.procs

4

0 回答 0