寻找在 Ubuntu 14.04 桌面上配置 cgroups 的一致方法

寻找在 Ubuntu 14.04 桌面上配置 cgroups 的一致方法

我正在寻找一种在资源有限的 Ubuntu 14.04 桌面系统上配置 cgroups 的一致方法。

我想要做的事情:

  • 创建几个分配有限内存和 CPU 的组,用于特定任务
  • 重启时自动启用这些组
  • 为每个组分配特定的命令/程序

我了解 cgroup 配置,以及如何使用 cgexec 为特定组启动进程。问题是下一步。

我已经构建了一个可以工作的 /etc/cgconfig.conf 文件,我能够使用 cgconfigparser 成功解析并激活该文件以获取已配置的 cgroup。然而,这是我所能做到的。

  • 我找不到在系统启动时正确读取和解析 /etc/cgconfig.conf 的服务。当前的 cgroup 软件包似乎不包含这样的服务。
  • 据我所知,/etc/cgconfig.conf 附带一个 /etc/cgrules.conf 文件,该文件描述了在某个组中默认如何启动进程。我无法识别解析它的服务或机制。如果没有此功能,我需要使用 cgexec 启动所有进程以将它们放入 cgroup 中。

我尝试使用 cgmanager,但该服务似乎也无法从 /etc/cgconfig.conf 进行配置。总的来说,我发现很难找到有关如何在 Ubuntu 桌面系统上配置和使用 cgroups 的信息。

那么,有人能给我指出正确的方向吗?我需要安装什么服务,它遵循哪些配置文件?

需要说明的是:我不是在寻找容器。而是在单个专用系统上构建资源处理。

非常感谢 :)

答案1

# vi /etc/cgrules.conf
tomcat7:wkhtmltopdf cpu,cpuset  group1

# cgrulesengd -d -v -f /var/log/cgrulesengd.log &
# cat /var/log/cgrulesengd.log
CGroup Rules Engine Daemon log started
Current time: Thu Jan 15 16:04:20 2015

Opened log file: /var/log/cgrulesengd.log, log facility: 0, log level: 7
Proceeding with PID 28569
Rule: tomcat7:wkhtmltopdf
UID: 500
GID: N/A
DEST: group1
CONTROLLERS:
cpu
cpuset

Started the CGroup Rules Engine Daemon.

相关内容