gpt4 book ai didi

linux - 为什么 cgroup 的内存子系统在进程允许内存超过 cgroup 限制时使用 oom-killer 而不是返回内存分配失败?

转载 作者:IT王子 更新时间:2023-10-29 00:01:37 25 4
gpt4 key购买 nike

我们使用cgroup限制程序使用更多资源。但是,当内存超过 cgroup 的限制时,它会杀死进程。为什么 cgroup 的内存子系统在进程允许内存超过 cgroup 限制时使用 oom-killer 而不是返回内存分配失败?

最佳答案

看起来 cgroups 可以使用 oom-killer 或暂停进程 (https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-memory.html)。但是使用 ulimit,分配通常会失败。

一些 Unresolved 问题仍然存在:是否有办法让 cgroups 拒绝进程内存(从 malloc 返回 NULL)?或者有没有办法让 ulimit 拒绝物理内存 (-m) 而不仅仅是虚拟内存 (-v)?

关于linux - 为什么 cgroup 的内存子系统在进程允许内存超过 cgroup 限制时使用 oom-killer 而不是返回内存分配失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27439910/

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