作为使用cgroup-bin
look 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 是否有错误。