echo $$ >任务在尝试使用 CPU 集时提供"no space left on device"



我尝试了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

有什么帮助吗?

这通常意味着没有任何内存节点分配给cpuset。

$ cat /dev/cpuset/Charlie/cpuset.mems

将返回空行。因此,您不能将新任务分配给这个cgroup,因为它将没有任何内存可供使用。

将一个或所有内存节点分配给这个cgroup应该可以修复它。

$ echo 0 > /dev/cpuset/Charlie/cpuset.mems

您还需要分配一个cpu节点,因为它也可能是空的。

$ echo 0 > /dev/cpuset/Charlie/cpuset.cpus

将cgroup.clone_children设置为1有助于在创建子cgroup时自动从父cgroup继承内存和节点设置。

最新更新