2014-02-19 48 views
2

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

这是我第一次尝试:

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文件创建一个组,但我无法找到像这里面的/ etc即使我已经安装了什么libcgroup1和cgroup-bin。请帮忙!

在此先感谢!

回答

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 

希望这会有所帮助。