Mac-Osx
達爾文(MacOS 核心)是否會過度使用記憶體?
例如,Linux
vm.overcommit_memory
預設開啟。Windows 沒有記憶體過量使用。macOS 有嗎?是否可配置?預設設置是什麼?
我已經在我的 MacOS 上進行了測試,並且可以正常工作。我使用這個問題的程式碼。並且系統允許我分配超過 40Gb 的記憶體,只有 16Gb 的 RAM 板載和 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
我沒有發現配置 overcommit 的可能性,但預設情況下看起來像 2。但我們應該記住,MacOS 具有動態交換並且它壓縮記憶體,所以我的假設可能是錯誤的。