在启动时分配大页面的好处

在启动时分配大页面的好处

[将问题从 StackOverflow 移至似乎不太合适的地方]

内核使用default_hugepagesz=1G选项启动,该选项定义默认页面大小的大小。因此,当应用程序需要大内存时,内核会为其分配1G页面。

如果内核以 启动hugepages=N,即在启动时分配 N 个大页面。那么在这种情况下,内核会自动从该池中获取页面,从而节省分配内存的时间?

当这个池用完可用页面时,内核将如何分配大内存?

答案1

在启动时分配大页面的优点是在内存碎片之前预先分配页面。分配的大页面数量也可以在运行时更改,并且可以设置过量使用限制 - 只要有足够的页面可用于转换为大页面,内核将在必要时分配新的大页面,直至过量使用限制。

相关内核文档了解详情。

相关内容