如果我配置以下内容
/proc/sys/vm/overcommit_memory = 2
/proc/sys/vm/overcommit_ratio = 50
如果程序尝试分配 50% 会发生什么?它是否仅杀死实际的程序,或者是否可以以某种方式杀死其他进程,例如 oom Killer?
答案1
请参阅内核文档过度使用。
基本上,您只能使用 50% 的 RAM 加交换空间。任何尝试使用更多内存都会导致分配内存的函数出错。查看 /proc/meminfo 中的CommitLimit
行。