systemd 与 cgroups 用于用户程序隔离资源吗?

systemd 与 cgroups 用于用户程序隔离资源吗?

环境:kubuntu 桌面 17.10.1

近期目标chrome以限制其最大内存消耗的方式运行。

当前的解决方法:我把以下内容放入/usr/local/bin/cchrome

#!/bin/sh
sudo mkdir -p /sys/fs/cgroup/memory/chrome
sudo chown -R ji /sys/fs/cgroup/memory/chrome
echo 8G > /sys/fs/cgroup/memory/chrome/memory.limit_in_bytes
exec cgexec -g memory:chrome google-chrome

然后我编辑我的应用程序菜单以创建一个名为 cchrome 的条目,一切就绪了!如果我不那么懒的话,我甚至会在启动时创建 cgroup,这样我就不必在脚本中调用 sudo。

这可以工作,但效果很差。根据 TFM(man cgrules.confman cgconfig.conf),我应该能够进行设置,以便 Chrome 启动时在自己的 cgroup 中运行。但是,这些文件在 17.10 桌面版或 16.04 LTS 服务器中不存在。AIUI,systemd 会进行自己的 cgroup 管理。

我一直没能找到关于如何做到这一点的任何文档,并且关于这个主题的每一个谷歌搜索结果要么是关于某种解决方法,要么不起作用,要么适用于其他一些 Linux 发行版。

相关内容