首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGroups存储子系统

CGroups存储子系统
EN

Ask Ubuntu用户
提问于 2014-07-07 18:49:38
回答 2查看 1.6K关注 0票数 2

我想知道是否可以对cgroup中的内存子系统设置动态限制。目前,我禁用了OOM和一个虚拟进程来测试控制组,当达到内存限制时,进程就会冻结(正如预期的那样),但是当我试图设置更大的限制(比如2倍多的内存)时,echo命令将失败,进程将保持冻结状态。

如何在不将进程移动到另一个设置了新限制的cgroup的情况下,在cgroup中设置动态内存使用限制?

EN

回答 2

Ask Ubuntu用户

发布于 2014-07-08 06:10:53

当您提到使用cgroup的“动态限制”时,您需要更具体地说明您要寻找的是什么。最好提供一个例子,说明你的应用程序和cgroup与cgconfig.conf一起做了什么。这会给我们更好的画面。

尽管cgroup允许使用memory.limit_in_bytes在cgconfig.conf中将进程限制在一定数量的内存,但它只设置上限,如果进程使用下限,则不会抱怨。因此,我不确定在这种情况下是否需要cgroup。

因此,如果您的程序正在动态地分配内存,您可能还需要检查内存中有多少内存被占用了。使用sysctl -a | grep overcommit检查内核可调性,并将其更改为始终超额提交,而不管内存是否可用。

票数 1
EN

Ask Ubuntu用户

发布于 2014-08-03 20:53:41

嗯,经过一些研究,我发现当有任务时,cgroup中的一些参数不能被修改。

遗憾的是,内存限制参数就是其中之一。

我认为我的最后一个选择是使用任务迁移特性,并根据需要创建具有新内存限制的cgroup。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/492859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档