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

Sam*_*nde 7 cgroup

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

我想做什么:

  • 为特定任务创建一些内存和 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 桌面系统上配置和使用 cgroup 的信息。

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

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

非常感谢 :)

小智 6

# 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.
Run Code Online (Sandbox Code Playgroud)