macOS - 虚拟内存限制(架构还是实际)?

macOS - 虚拟内存限制(架构还是实际)?

macOS 可以使用的内存量是否有特定的限制(可配置、假设)?

我知道有几个相关因素,例如可寻址 RAM、系统如何使用虚拟内存以及是否有足够可用磁盘空间的假设。

我找不到一篇能够解释最大值的文章。

(在阅读元讨论后以超级用户身份发布,但可以根据需要随意编辑或移动它)。

答案1

macOS 可以使用的内存量是否有特定的限制(可配置、假设)?

对于 64 位进程,虚拟内存量最多可达 18 EB 的可寻址空间。

这假设您有足够的可用磁盘空间。

关于虚拟内存系统

高效的内存管理是编写 OS X 和 iOS 高性能代码的一个重要方面。最小化内存使用量不仅可以减少应用程序的内存占用,还可以减少其消耗的 CPU 时间。但是,为了正确调整代码,您需要了解底层系统如何管理内存。

OS X 和 iOS 都包含一个完全集成的虚拟内存系统,您无法关闭它;它始终处于打开状态。这两个系统还为每个 32 位进程提供高达 4 GB 的可寻址空间。此外,OS X 为 64 位进程提供大约 18 EB 的可寻址空间。即使对于拥有 4 GB 或更多可用 RAM 的计算机,系统也很少将这么多 RAM 专用于单个进程。

为了让进程能够访问其整个 4 GB 或 18 EB 地址空间,OS X 使用硬盘来保存当前未使用的数据。当内存已满时,未使用的内存部分将被写入磁盘,以便为当前需要的数据腾出空间。存储未使用数据的磁盘部分称为后备存储,因为它为主内存提供备份存储。

来源关于虚拟内存系统

相关内容