linux下的hugepage

来源:互联网 发布:u盘在mac上文件不显示 编辑:程序博客网 时间:2024/05/17 02:57

HugePage广泛启用开始于Kernal 2.6,一些版本下2.4内核也可以是用。在操作系统Linux环境中,内存是以页Page的方式进行分配,默认大小为4K。如果需要比较大的内存空间,则需要进行频繁的页分配和管理寻址动作。

 

HugePage是传统4K Page的替代方案。顾名思义,是用HugePage可以让我们有更大的内存分页大小。无论是HugePage还是传统的正常Page,这个过程都涉及到OS内存寻址过程。

 

当一个进程访问内存的时候,并不是直接进行内存位置访问,是需要通过Page Table进行转移变换。在使用HugePage的情况下,PageTable具有了额外的属性,就是判断该页记录是HugePage还是Regular Page。

 

在Oracle运行环境中开启HugePage是有很多好处的。具体如下:

 

1)非Swap内存:当开启HugePage的时候,HugePage是不会Swap的;

2)减少TLB(TranslationLook aside Buffer)负担:TBL是在CPU里面的一块缓冲区域,其中包括了部分Page Table内容。使用HugePage可以减少TLB工作负载;

3)减少Page Table空间负载:在PageTable管理中,每条Page记录是要占据64byte的空间的。也就是说,如果一块50G的RAM,4k大小的PageTable要有80MB左右;

4)减少PageTable检索负载:更小的PageTable意味着更快的检索定位能力;

5)内存性能提升:Page数量减少、大小的增加,减少了管理过程的复杂性,进一步减少了瓶颈出现的概率;

0 0
原创粉丝点击