更改内存页的大小?

qdi*_*dii 6 size kernel memory virtual-memory

我想将内核的页面大小从 4KB 更改为 4MB,因为我的计算机增加了大量 RAM,而且我再也不会用完。

这个想法是需要大量内存的程序将在分配页面上花费更少的时间。我想它会提高性能,我想尝试一下。

运行时找不到任何地方make menuconfig。有没有办法做到这一点?

小智 5

PAGESIZE 在内核编译时设置。该选择仅对 i386 硬件有效。如果您运行的是 64 位系统或任何其他架构,则页面大小为 4K 且无法更改。

  • 要验证 PAGE_SIZE,您可以使用命令 `getconf PAGE_SIZE` (2认同)

Fre*_*rdt 5

您可能想看看Transparent Hugepages。.config 项是 CONFIG_TRANSPARENT_HUGEPAGE。请注意,启用此功能不会自动为您提供大页面。您需要将 CONFIG_TRANSPARENT_HUGEPAGE_MADVISE 设置为“n”,以使其成为默认值。

另请注意,这不允许您选择任意页面大小。我允许使用架构的巨大页面大小。对于 x86_64,这是 1Mb,请参阅https://en.wikipedia.org/wiki/Page_(computer_memory)#Huge_pages了解完整表格。