Linux 内存管理之Huge pages-大页内存

        地址转换需要多次访问内存,而相对于CPU而言访问内存的速度还是太慢了。为了避免花费太多时间在地址转换上,CPU维护了一个地址转换的缓冲区TLB(Tranlation Lookaside Buffer). 通常情况下TLB是相当稀缺的资源,一个应用程序如果需要使用大页内在,会因为TBL不够而遭受性能损失。

        许多现代CPU体系架构,允许页表中的高维度直接映射到内存页面。例如在x86上,可以使用页表中的二级、三级页面来直接映射2M甚至1G的内存页面。在Linux中,这样的页面被称为大页面,使用大页面能显著降低TBL的压力,提高TBL的命中率,进而提高了系统的整体性能。

        在Linux中有两种方式支持大页与物理内存的映射。第一种方式是HugeTLB文件系统(HugeTBLFS),它是一种使用RAM作为备份存储区的伪文件系统,通过该系统创建的文件,数据保留在内存中,并通过大页面进行映射。

        第二种方式是透明大页面(THP),与HugeTLB不同的是,HugeTBL需要管理员配置哪些系统内存需要被映射成大页面,而THP的这些管理对用户是透明的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值