echo $$ > tasks выдает "на устройстве не осталось места" при попытке использовать cpuset
Я попробовал пример из руководства по cpuset(7) и создал cpuset Чарли. На Ubuntu 14.4 LTS и SLES 12 я получаю следующую ошибку при попытке поместить текущий процесс в процессор:
/dev/cpuset/Charlie# echo $$ > tasks
bash: echo: write error: No space left on device
Любая помощь?
1 ответ
Обычно это означает, что у вас нет узлов памяти, назначенных процессору.
$ cat /dev/cpuset/Charlie/cpuset.mems
вернул бы пустую строку. Таким образом, вы не можете назначить новую задачу этой группе, так как у нее не будет памяти для работы.
Назначьте один или все узлы памяти этой группе, это должно исправить это.
$ echo 0 > /dev/cpuset/Charlie/cpuset.mems
Вам также необходимо назначить узел процессора, так как он также, вероятно, будет пустым.
$ echo 0 > /dev/cpuset/Charlie/cpuset.cpus
Установка cgroup.clone_children в 1 может помочь в автоматическом наследовании памяти и настройки узла от родительской cgroup при создании дочерней cgroup.