如何创建和使用Linux cgroup作为非root用户?

如何创建和使用Linux cgroup作为非root用户?,第1张

概述如何创建和使用 cgroups作为非root用户? 例如,我可以完全作为非root用户: >创建一个可以访问一个CPU的cgroup >在该cgroup中创建一个新进程 ? 我第一次问here,但我没有得到完整的答案.我也是asked on stackoverflow,但这个问题已经被关闭了. 您不能以普通用户身份执行此 *** 作.但您可以将root用户设置为cgroup,并使其可由用户配置. 如果您还 如何创建和使用 cgroups作为非root用户?

例如,我可以完全作为非root用户:

>创建一个可以访问一个cpu的cgroup
>在该cgroup中创建一个新进程

我第一次问here,但我没有得到完整的答案.我也是asked on stackoverflow,但这个问题已经被关闭了.

解决方法@H_404_14@ 您不能以普通用户身份执行此 *** 作.但您可以将root用户设置为cgroup,并使其可由用户配置.

如果您还没有安装默认的cgroups控制器,例如systemd:

$sudo mount -t tmpfs cgroup_root /sys/fs/cgroup$sudo mkdir /sys/fs/cgroup/cpuset$sudo mount -t cgroup -o cpuset cpuset /sys/fs/cgroup/cpuset

创建一个cgroup:

$sudo mkdir /sys/fs/cgroup/cpuset/${USER}$sudo chown -R ${USER} /sys/fs/cgroup/cpuset/${USER}

您现在可以将普通用户的cgroup配置修改为:

$echo 0-3 > /sys/fs/cgroup/cpuset/${USER}/cpuset.cpus

向该组添加进程:

$./my_task &$echo $! > /sys/fs/cgroup/cpuset/${USER}/tasks

或者创建一个子组:

$mkdir /sys/fs/cgroup/cpuset/${USER}/subgroup$echo 0-1 > /sys/fs/cgroup/cpuset/${USER}/subgroup/cpuset.cpus$./my_other_task &$echo $! > /sys/fs/cgroup/cpuset/${USER}/subgroup/tasks
总结

以上是内存溢出为你收集整理的如何创建和使用Linux cgroup作为非root用户?全部内容,希望文章能够帮你解决如何创建和使用Linux cgroup作为非root用户?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1043823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存