【问题标题】:getting 'cgroup change of group failed' when trying to add process to cgroup尝试将进程添加到 cgroup 时出现“组的 cgroup 更改失败”
【发布时间】:2016-05-30 20:22:06
【问题描述】:

我在 Ubuntu 14SUSE Linux Enterprise Server 11 (x86_64) 上使用 root 安装了 libcgroup:

cgcreate -t​​ ngam:home -a ngam:home -g cpuset:/nadav2ndCpuSet

cgset -r cpuset.cpus=1 nadav2ndCpuSet

之后,如果你 cat /sys/fs/cgroup/cpuset/nadav2ndCpuSet/cpuset.cpus, 你会得到: 1

这很好!因为它应该工作。

然后,我从用户 ngam 运行以下 cmd:

cgexec -g cpuset:nadav2ndCpuSet ~/whileLoop

其中 whileLoop 只是一个简单的程序,它在执行 sqrt 的循环中运行。

之后,我收到以下错误消息:

cgroup 更改组失败

为什么会这样? 谢谢!

【问题讨论】:

    标签: cgroups


    【解决方案1】:

    我刚才在 Ubuntu 16.04 上玩 cgroups 时遇到了类似的情况。

    使用控制器 cpuset 时,不会启动 cpus 和 mem。因此,您必须手动执行此操作。由于您已经指定了 cpuset.cpus,您只需要设置 cpuset.mems

    简单地运行

    echo 0 > /sys/fs/cgroup/cpuset/nadav2ndCpuSet/cpuset.mems
    

    cgset -r cpuset.mems=0 nadav2ndCpuSet
    

    会解决你的问题。

    有关 cpuset 的更多信息,请参阅http://man7.org/linux/man-pages/man7/cpuset.7.html

    【讨论】:

    • 在 Fedora 31 上使用 Linux 5.5.10-200.fc31.x86_64 #1 SMP Wed Mar 18 14:21:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 时出现同样的问题。感谢分享 Jesper!
    【解决方案2】:

    我发现我忘记让cgconfig从系统重启开始,所以一个简单的systemctl start cgconfig解决问题,然后不要忘记systemctl enable cgconfig让它从系统重启开始。

    我知道我的这个答案可能与问题无关。我希望当人们搜索错误cgroup change of group failed时,这个答案可以帮助他们。

    顺便说一句:systemctl start cgconfig 适用于 centos 7,对于 centos 6,您可以使用 service cgconfig start / chkconfig cgconfig on

    【讨论】:

      猜你喜欢
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 2018-01-24
      • 2014-09-30
      • 1970-01-01
      相关资源
      最近更新 更多