0

众所周知,x86 上的页面大小为 4KB。如果我们有 64G RAM,那么有 16M 的 page enteries,就会导致过多的 mant tlb miss。在 x86 中,我们可以启用 PAE 访问超过 4GB 的内存。(并且页面大小可以拆分为每页 2MB?)

Hugepagetlbfs 允许我们使用大页面来获得性能优势(例如:更少的 tlb 未命中),但有很多限制:

  • 必须使用共享内存接口来编写 Hugepagetlbfs

  • 并非所有进程都可以使用它

  • 保留内存可能会失败

因此,如果我们可以将页面大小更改为 2M 或 4M,那么我们可以获得性能优势。

以我的方式,我尝试了一些方法来改变它,但失败了。

  • 使用 CONFIG_HUGETLBFS 编译内核,失败
  • 使用 CONFIG_TRANSPARENT_HUGEPAGE 和 CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS 编译内核,失败

有人可以帮我吗?

4

0 回答 0