Cgroup:无法创建新组

时间:2014-02-19 02:05:13

标签: ubuntu cgroups

我想创建一个新的cgroup,并将该组的RAM访问限制为1MB。

这是我的第一次尝试:

mkdir /sys/fs/cgroup/mygroup
mount -t cgroup -o memory mygroup /sys/fs/cgroup/mygroup

但我一直收到这个错误

mount: /sys/fs/cgroup/mygroup already mounted or /sys/fs/cgroup/mygroup busy

我尝试了一种使用cgcreate

的不同方法
cgcreate -g memory:mygroup2

但是当我运行cgexect -g memory:mygroup2 ./a.out

我收到此错误:cgroup change of group failed

我还看到我们可以通过更改/etc/cgconfig.cf文件来创建一个组,但即使我已经安装了libcgroup1和cgroup-bin,我也无法在/ etc中找到类似的内容。请帮忙!

提前致谢!

1 个答案:

答案 0 :(得分:3)

我相信如果已安装cgroup文件系统,则无需安装新目录。您可以通过键入以下命令来检查以确保已装入cgroup文件系统:

cat /proc/mounts | grep cgroup

如果它返回如下内容,你知道它已被挂载:

cgroup /sys/fs/cgroup/memory ...

接下来,如果你想创建一个限制内存访问的cgroup,我相信你应该在内存子目录中而不是在cgroup目录的根目录中创建新的cgroup。看起来应该是这样的:

mkdir /sys/fs/cgroup/memory/mycgroup

从那里,您可以使用echo命令将任务添加到您的cgroup中:

echo $pid > /sys/fs/cgroup/memory/mycgroup/tasks

最后,您可以通过以下方式将内存使用量限制为1MB:

echo 1M > /sys/fs/cgroup/memory/mycgroup/memory.max_usage_in_bytes

希望这有帮助。