作为使用cgroup-binlook at的替代方法systemd,它使用 cgroups 对用户的进程进行分组/分离,并且资源控制器的使用应该没问题。
但是,在下面我将尝试回答您的原始问题cgroup-bin
由于存在多个问题,因此我逐步介绍:
软件包中缺少初始化脚本。然而,有/usr/share/doc/cgroup-bin/examples/cgred一部分工作(cgrulesengd在系统启动时为我启动,但尚未重新启动守护程序)。在使用之前删除一些在 debian 中不存在的 init-functions 的行。但是,您也可以通过/etc/rc.local.
我有以下cgconfig.conf
mount {
cpu = /sys/fs/cgroup ;
cpuset = /sys/fs/cgroup ;
memory = /sys/fs/cgroup ;
}
group users {
memory {
memory.soft_limit_in_bytes = 512M;
memory.limit_in_bytes = 1G;
}
# cpuset seems to be obligatory, adjust the parameters
cpuset {
cpuset.cpus = 0-7 ;
cpuset.mems = 0 ;
}
}
要加载 cgconfig.conf,请执行cgconfigparser -l /etc/cgconfig.conf. 您可以/etc/rc.local在启动时执行此操作。
Debian默认在内核中禁用该memory子系统,因此需要时需要激活它:设置内核命令行/etc/default/grub以加载内存子系统:GRUB_CMDLINE_LINUX_DEFAULT="quiet cgroup_enable=memory". 调用update-grub并重新启动。
你现在应该有一个挂载的 cgroup 文件系统,里面/sys/fs/cgroup有一个users目录。
尝试cgexec -g memory,cpuset:users <command>观察 syslog 是否有错误。