页面大小是否恒定?更具体地说,getconf PAGE_SIZE给出4096,足够公平。但这可以通过程序的运行时改变吗?或者它在整个OS过程中是否保持不变。即,进程是否有可能具有1024和2048 AND 4096页面大小?我们暂时谈谈虚拟页面大小。但更进一步的是,虚拟页面可能跨越更大尺寸的物理页面吗?
答案 0 :(得分:3)
进程可能使用多个页面大小。在较新的内核上,这甚至可能在没有通知的情况下发生,请参阅Andrea Arcangelis transparent huge pages。
除此之外,您可以请求与hugetlbfs不同(通常更大)的页面大小的内存。
拥有大页面的主要原因是性能,处理器中的TLB尺寸非常有限,页面越少但页面越大意味着更多的点击量。