Linux / 虚拟/物理页面大小

4

页面大小是恒定的吗?具体来说,getconf PAGE_SIZE命令返回4096,这很好理解。但是这个值在程序运行时能否更改?或者它在整个操作系统进程中是恒定的?也就是说,一个进程是否可能同时具有1024、2048和4096个页面大小?现在我们只讨论虚拟页面大小。但更进一步,虚拟页面是否可能跨越更大尺寸的物理页面?

1个回答

3

一个进程使用多个页面大小是可能的。在较新的内核上,这甚至可能会发生而不会被注意到,请参见Andrea Arcangelis透明巨大页面

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接