linux / 虚拟/物理页面大小

发布于 2024-11-14 05:22:46 字数 169 浏览 2 评论 0原文

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

Is the page size constant? To be more specific , getconf PAGE_SIZE gives 4096, fair enough. But can this change through a program's runtime? Or is it constant throughout the entire OS process spawn. I.e. , is it possible for a process to have 1024 and 2048 AND 4096 page sizes? Let's just talk virtual page sizes for now. But going further is it possible for a virtual page to span a physical page of greater size?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉风有信 2024-11-21 05:22:46

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

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

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

It is possible for a process to use more than one pagesize. On newer kernels this may even happen without notice, see Andrea Arcangelis transparent huge pages.

Other than that, you can request memory with a different (usually larger) page size over hugetlbfs.

The main reason for having big pages is performance, the TLB in the processor is very limited in size, and fewer but bigger pages mean more hits.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文