Linux 过度使用内存设置

Linux 过度使用内存设置

根据该文件:https://www.kernel.org/doc/Documentation/vm/overcommit-accounting,如果我将“vm.overcommit_memory”设置为“2”,则“系统的总地址空间提交不允许超过交换 + 可配置的物理 RAM 量(默认值为 50%)。”此外,“可以通过‘vm.overcommit_ratio’(百分比)或‘vm.overcommit_kbytes’(绝对值)设置过量提交量。”

我的问题是,“vm.overcommit_ratio”和“vm.overcommit_kbytes”是否限制所有进程提交的内存总和,还是仅限制每个进程?

我认为应该是后者,因为限制系统总共只使用一半的物理内存是没有意义的,但是文档中的描述表明这是全局限制。

答案1

它是全局的。设置的目的是确保你不会用完全部内存并导致 OOM 杀手开始终止进程​​。

答案2

我认为应该是后者,

是前者。

因为限制系统总共只使用一半的物理内存是没有意义的,但文档中的描述表明这是全局限制。

同意。但这并不是对物理内存使用量的限制。正如它所说,它限制的是已提交的地址空间,而不是物理内存使用量。当然,系统将使用几乎所有的 RAM。

相关内容