OSX 设置页面大小

jac*_*its 3 memory macos assembly

我将如何为 OS X Yosemite 设置内存中的页面大小?

如果我进入pagesize终端,我会得到4096. 有什么办法可以修改这个吗?

Jon*_*art 5

简短的回答:没有

页面大小特定于您的体系结构,通常不能由用户在运行时更改。Intel x86 处理器都使用 4 KiB 的页面大小。


更长的答案:

您的 CPU 可能还支持更大的页面,例如 2 MiB 和 1 GiB。(请参阅维基百科上的巨大页面。)然而,管理内存页面如何映射到各种地址空间的方式完全取决于您的操作系统内核。

很少有用户空间 API 关心平台的页面大小。然而,那些(例如mmap)被写入可用页面大小的最小公分母,因为您不能保证更大的页面大小将用于特定页面。出于这个原因,暴露给用户空间的“页面大小”是一个简单的单一值,比如 4 KiB。

在 Linux 上,对这种机制有一些“控制”。查看:

我不知道 OS X 是否支持这个。对 OS X 大页面的搜索变得稀薄。