Darwin(MacOS 内核)是否存在内存过量使用的情况?

Darwin(MacOS 内核)是否存在内存过量使用的情况?

例如,Linuxvm.overcommit_memory默认启用该功能。Windows 没有内存过量使用功能。MacOS 有吗?它可以配置吗?默认设置是什么?

答案1

我已经在我的 MacOS 上测试过了,可以正常工作。我使用的代码来自问题。系统允许我分配超过 40Gb 的内存,但板载 RAM 仅为 16Gb,已使用的交换空间为 6Gb(上图为 OOM-killer 执行之前的分配过程)。

活动监视器

我的内核版本是:

Darwin AT-MacBook-Pro-2.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar  3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64

我没有找到配置过量使用的可能性,但看起来默认情况下它是 2。但我们应该记住,MacOS 有动态交换,它压缩内存,所以我的假设可能是错误的。

相关内容