本文主要讲解的是如何在Ubuntu中配置HugePage 并且使用HugePage来为程序加速。
HugePage概念
Hugepage的概念是相对Linux中的分页机制中的默认页(4KB)大小而言的。在linux系统中除了使用4KB的默认页大小外还支持2M、1G等其他页大小配置,而超过4KB页大小的页称为Hugepage。
通常当进程产生一个Virtual Address进行访存时,系统需要将Virtual Address 转化为实际可以访问物理内存的物理地址。Page table主要在该过程中主要起到了维护VA和PA映射的关系。
具体操作系统中如何来进行virtual address to physical address
可以去查阅相关的资料,在这里我推荐《深入理解计算机系统 2e》——第十章虚拟存储章节。
而在Page Table中并不是一个虚拟地址就会对应一个物理地址的,这样Page Table会非常的大。所以在系统中,实际虚拟地址空间中一定大小的地址集合会对应物理地址空间相同大小的地址集合,这就是Page(页)。在虚拟地址空间中称为虚页,在物理地址空间中称为物理页。
通过上面的页的概念我们可以知道,当Page的大小越大时,PageTable中的e