5.3. DPDK HugePage 配置
DPDK 大量使用大页面来消除对 TLB 的压力。 因此,必须在您的系统中配置大页面。
这款 dpdk 包有一个配置文件和脚本,试图以以下形式简化 DPDK 的大页面配置 /etc/dpdk/dpdk.conf. 如果您的系统中有更多的大页面消费者,而不仅仅是 DPDK,或者对如何设置大页面有非常特殊的要求,您可能希望自己分配/控制它们。 如果不是,这可以极大地简化根据您的需要配置 DPDK。
这里的示例配置了 1024 个 2M 的 Hugepages 和 4 个 1G 的页面。
NR_2M_PAGES=1024 NR_1G_PAGES=4
如图所示,这支持配置 2M 和更大的 1G 大页面(或两者的混合)。 它将确保 DPDK 有合适的 Hugetlbfs 挂载点来查找两种尺寸,无论您的默认大页面尺寸是多少。 如果您想通过内核参数手动分配大页面,配置文件本身包含有关某些极端情况的更多详细信息和一些提示。
这取决于您想要哪种大小的需求 - 1G 页面对于 TLB 压力肯定更有效。 但有报道称它们在 DPDK 内存分配中碎片化。 此外,在系统生命周期的后期获取足够的可用空间来设置一定数量的 1G 页面可能会更加困难。