Memory

康凯森大约 2 分钟

基础知识

Huge page

Huge page(大页)是一种操作系统内存管理技术,它使用比传统页面更大的页尺寸来管理内存。在默认情况下,操作系统将内存划分为较小的页面,通常为4KB。而大页的尺寸通常为2MB或更大。

Huge page 可以提升性能的原因有以下几点:

  • 减少页表数量:大页尺寸意味着相同的内存区域可以由更少的页表项来映射。传统的小页尺寸需要更多的页表项,这会增加页表的大小,占用更多的内存空间并增加访问页表的开销。使用大页可以减少页表的数量,降低页表访问的开销。

  • 提高 TLB 命中率:TLB(Translation Lookaside Buffer)是处理器的高速缓存,用于存储虚拟地址到物理地址的映射关系。TLB 有限的容量意味着它无法存储所有的页表项。使用大页可以减少页表的数量,从而提高 TLB 命中率,减少 TLB 缺失的次数,加速内存访问。

  • 减少内存访问开销:使用大页可以减少内存访问的次数。当应用程序需要访问连续的内存页面时,使用大页可以减少对页表的访问次数,减少内存访问的开销,并提高访问速度。

  • 提高局部性:许多应用程序具有局部性的特点,即它们倾向于在相邻的内存区域中进行访问。使用大页可以增加连续内存区域的大小,更好地满足应用程序的局部性要求,减少内存碎片化和缓存污染,提高性能。

工具