cpuset(7) マニュアルの例を試して、cpuset Charlie を作成しました。Ubuntu 14.4 LTS と SLES 12 の両方で、現在のプロセスを cpuset に入れようとすると、次のエラーが発生します。
/dev/cpuset/Charlie# echo $$ > tasks
bash: echo: write error: No space left on device
何か助けはありますか?
これは通常、CPU セットにメモリ ノードが割り当てられていないことを意味します。
$ cat /dev/cpuset/Charlie/cpuset.mems
空行を返します。したがって、この cgroup には作業するメモリがないため、新しいタスクを割り当てることはできません。
この cgroup に 1 つまたはすべてのメモリ ノードを割り当てると、問題が解決するはずです。
$ echo 0 > /dev/cpuset/Charlie/cpuset.mems
また、空になる可能性が高いため、cpu ノードを割り当てる必要もあります。
$ echo 0 > /dev/cpuset/Charlie/cpuset.cpus
cgroup.clone_children を 1 に設定すると、子 cgroup の作成時に親 cgroup からメモリーとノード設定を自動的に継承するのに役立ちます。