gpt4 book ai didi

debian - 尝试在 debian wheezy 中使用 cgroups 而没有守护进程

转载 作者:行者123 更新时间:2023-12-04 17:49:16 26 4
gpt4 key购买 nike

我正在尝试遵循有关 cgroup 的指南,例如 this one作为例子。我不太确定清楚地了解 cgroups 目前应该如何工作。但我确定一件事:我找到的所有指南都记录了 /etc/cgconfig.conf 的用法。和 /etc/cgrules.conf .这些文件应该由两个守护进程加载,我认为它们应该被命名为 cgredcgconfig .

在 Debian Squeeze 下,这两个守护进程似乎是通过安装 cgroup-bin 自动安装的。 .但是在 Wheezy 中,这些守护进程不再存在于包中:http://packages.debian.org/fr/wheezy/amd64/cgroup-bin/filelist .

我只是想创建某种共享托管解决方案,我想限制用户的 RAM 使用量。有人告诉我 cgroups 并想尝试一下,但我不明白如何在 Wheezy 中使用该版本,而且我找不到任何文档来帮助我。

有人能告诉我该怎么做吗?那个包裹坏了?是否有一些全新的(和未记录的)方法来配置 cgroups?

最佳答案

作为使用 cgroup-bin 的替代方法看 systemd ,它使用 cgroups 对用户的进程进行分组/分离,资源 Controller 的使用应该没问题。

但是,在下文中,我将尝试在 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并重新启动。

您现在应该在 /sys/fs/cgroup 中有一个已挂载的 cgroup 文件系统。与 users目录里面。

试试 cgexec -g memory,cpuset:users <command>并查看系统日志中的错误。

关于debian - 尝试在 debian wheezy 中使用 cgroups 而没有守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21337522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com