4

页面大小是否恒定?更具体地说,getconf PAGE_SIZE 给出 4096,足够公平。但这可以通过程序的运行时改变吗?或者它是否在整个操作系统进程产生过程中保持不变。即,一个进程是否有可能拥有 1024 和 2048 以及 4096 的页面大小?我们现在只讨论虚拟页面大小。但更进一步,虚拟页面是否有可能跨越更大尺寸的物理页面?

4

1 回答 1

3

一个进程可以使用多个页面大小。在较新的内核上,这甚至可能在没有通知的情况下发生,请参阅Andrea Arcangelis 透明大页面

除此之外,您可以通过hugetlbfs请求具有不同(通常更大)页面大小的内存。

拥有大页面的主要原因是性能,处理器中的 TLB 大小非常有限,更少但更大的页面意味着更多的命中。

于 2011-06-06T12:31:02.263 回答