大页内存与透明大页详解

大页内存

大页内存(HugePages),有时也叫“大内存页”、“内存大页”、“标准大页”。操作系统以内存页为单位管理内存,内存页的大小对系统性能有影响。内存页设得太小,内存页会很多,管理内存页的数组会比较大,耗内存,同时TLB(Translation Lookaside Buffer,页表寄存缓冲器,可理解为页表缓冲)大小是固定的,导致TLB MISS增加。在不同的应用场合,内存页的大小的最优值是不同的。所以一般的系统都支持多种内存页的取值。

大页内存的优势

“大内存页”有助于 Linux 系统进行虚拟内存管理。顾名思义,除了标准的4KB大小的页面外,它还能帮助管理内存中的巨大的页面(通常是2MB)。使用“大内存页”,你最大可以定义 1GB 的页面大小。对于那些内存操作非常频繁的业务来说,可以有效的提高性能。简而言之,通过启用大页内存,系统只需要处理较少的页面映射表,从而减少访问/维护它们的开销!

大页内存与透明大页的关系

大页内存类似专用内存,会从系统中抠出一块大内存,而想要使用这块内存,应用程序必须修改程序。 其次,如果程序内存使用较少,却申请了大页,就造成了内存浪费,这个时候就要用到透明大页(Transparent Huge Pages,THP)了。这两者的区别在于大页的分配机制:标准大页管理是预分配的方式,而透明大页管理则是动态分配的方式,且不需要修改程序源码。

透明大页之功

THP 是一个提取层,可用于自动创建、管理和使用超大页面的大多数方面。THP可以改进系统的性能,可以减少使用超大页面的复杂行,目前THP已在各种系统、配置、程序和负载中测试优化,可以改进大多数系统配置的性能。

查看大页内存方法

grep Huge /proc/meminfo
#查看大页内存使用情况
cat /sys/devices/system/node/node*/meminfo | fgrep Huge
#查看各个numa节点的大页内存情况
cat /proc/mounts
#查看大页内存挂载情况

1.何为内存模块 (Memory Module)? 内存模块是指一个印刷电路板表面上有镶嵌数个记忆体芯片chips,而这内存芯片通常是DRAM芯片,但近来系统设计也有使用快取隐藏式芯片镶嵌在内存模块上内存模块是安装在PC 的主机板上的专用插槽(Slot)上镶嵌在Module上DRAM芯片(chips)的数量和个别芯片(chips)的容量,是决定内存模块的设计的主要因素。 2.什么是Parity? 早先所使用的存储器数据检错方式是Parity Check,其是以每8比特增加1比特的方式进行检错。因此若是具备Parity的存储器,其数据宽度将比非parity的存储器为。不过若以 Parity的检错方式看,其多出的奇偶位事实上只用于分辨奇数或偶数个比特数。这种方式仅能得知是某一位发生错误,并无法确定是哪一个位置发生错误,而且无法运用在双数位的检错上。 3.什么是ECC? ECC是另一种更为进步的存储器数据检错机制。其工作的方式Parity不同,并不是采用单一比特的方式来进行检错,而是采用数据块(block)概念复杂的演算方法来修正数据。因此不仅能检测多位比特错误,还能进行修正单一比特的错误。 4.SPD的作用是什么? 为Serial Presence Detect 的缩写,它是烧录在EEPROM内的码,以往开机时BIOS必须侦测memory,但有了SPD就不必再去作侦测的动作,而由BIOS直接读取 SPD取得内存的相关资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波算子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值