无法使用 cgm 在 Ubuntu 服务器上的 cgroup 中设置 memory.memsw.limit_in_bytes

无法使用 cgm 在 Ubuntu 服务器上的 cgroup 中设置 memory.memsw.limit_in_bytes

我试图在没有 root 访问权限的情况下限制 cgroup 的资源使用。

我可以使用cgm setvalue内存内存.limit_in_bytes 150G设置memory.limit_in_bytes

但我不能以同样的方式设置memsw.limit_in_bytes,无论memsw.limit_in_bytes是否大于memory.limit_in_bytes(这是必要的,因为memsw选项设置最大内存+交换限制)

我收到的只是:错误org.freedesktop.DBus.Error.InvalidArgs:无效请求

有任何想法吗?

答案1

使用时cgm,请注意仅更改目录及其文件cgm chown $controller $cgroup $uid $gid的所有者。无法写入这些文件的非特权用户将获得/sys/fs/cgroup/$controller/$cgroupcgroup.procstasks调用 cgmanager_set_value_sync 失败:请求无效消息,正如你发现的那样。

另一种可能性是该文件丢失,例如由于内核中缺少交换支持。如果您的内核未配置CONFIG_MEMCG_SWAP_ENABLED,则必须传递swapaccount=1cmdline 选项。

相关内容