2014-02-19 5 views
2

Я хочу создать новую группу и ограничить доступ к ОЗУ этой группы до 1 МБ.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, но я не могу найти ничего подобного внутри/и т.д., даже если я установил libcgroup1 и cgroup-bin. Пожалуйста помоги!

Заранее благодарен!

ответ

3

Я считаю, что нет необходимости монтировать ваш новый каталог, если файловая система группы уже установлена. Вы можете проверить, чтобы убедиться, что контрольная группа файловая система уже установлена, набрав команду:

cat /proc/mounts | grep cgroup 

Вы знаете, он установлен, если она возвращает что-то вроде этого:

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

Далее, если вы хотите создать которая ограничивает доступ к памяти, я считаю, что вы должны создать свою новую группу в подкаталоге памяти, а не в корне каталога cgroup. Это должно выглядеть примерно так:

mkdir /sys/fs/cgroup/memory/mycgroup 

От там, вы можете добавлять задачи в свою контрольную группу с помощью эха-команды:

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

Наконец, вы можете ограничить использование памяти до 1Мб по:

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

Надеюсь, это поможет.

Смежные вопросы