HugePages -- 介绍及配置

本文详细介绍了在Linux系统中配置HugePages的方法及其对Oracle数据库性能的影响。通过增大页面大小并减少页面数量来提高TLB命中率,降低内存使用及避免页面交换,从而提升系统性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Why Do You Need HugePages ?


HugePages 属于Linux操作系统内核。配置了大页,那个系统将在“大页”和“小页”之间进行二选一。(默认读取数据为4KB)。 详细介绍参见: Document 361323.1


如果你有很大的内存或者SGA,那个配置大页将会是Oracle数据库性能调优的重要系统参数(比如大于8GB),那么你将需要配置HugePages,以下为配置SGA大小的注意事项,HugePages的建议:


- 更大的Pagesize & 更少的页面 (Larger Page Size and Less # of Pages):默认的page大小为4k,然而HugeTLB(HugeTables)大小为2048K。那么意味着操作系统需要至少处理512次page


- 减少页面的游走 (Reduced Page Table Walking):自从一个HugePages 覆盖一个较大的、连续的虚拟地址范围,而不是常规大小的页面,因此每个TLB条目的TLB命中率要比普通页面高。这减少了从虚拟地址获取物理地址的次数。


- 减少内存使用 (Less memory usage):从Oracle DB的观点出发。使用HugePages Linux内核参数,将会减少内存在创建pagetable时 提供虚拟物理内存映射给SGA地址的范围的 使用情况。


- 避免交换页 (No Swapping): 我们必须避免swapping 在Linux系统上的发生。HugePages是不可被swap的。(常规的pages是可以被交换的),所以这也没有page的替代机制,Hugepages被普遍的看做是一个解决方法。


- 没有 'kswapd' 操作(No 'kswapd' Operations) :如果有很大的区域被paged,那么kswapd将会非常繁忙。


  • How to configure

Step 1

set in /etc/security/limits.conf.

设置memlock参数,此值稍小于内存即可。
例: 64GB内存
*   soft   memlock    60397977
*   hard   memlock    60397977
* 将这个值设置为大于您的SGA要求是没有害处的。


Step 2

Re-logon to the Oracle product owner account (e.g. 'oracle') and check the memlock limit

$ ulimit -l
60397977

Step 3

如果你的数据库版本为 Oracle 11g 及以上版本开启了AMM特性,那么该特性与HugePages冲突。

则需要disable AMM特性。设置初始化参数 MEMORY_TARGET and MEMORY_MAX_TARGET to 0 (zero)

* 从11.2.0.3开始,如果DBCA检测到机器有超过4GB的RAM,那么AMM将不再被默认配置。



Step 4

确保数据库实例启动,使用hugepages_setting.sh脚本,计算 vm.nr_hugepageskernel 参数建议值。Document 401749.1 

$ ./hugepages_settings.sh
...
Recommended setting: vm.nr_hugepages = 1496
$
可参考我的博文: HugePages -- 配置计算脚本

Step 5

设置 /etc/sysctl.conf ,需从起生效。

vm.nr_hugepages = 1496



Step 6

stop all database instance & reboot server




Step 7: 

检查是否配置已生效 /proc/meminfo

# grep HugePages /proc/meminfo
HugePages_Total:    1496
HugePages_Free:      485
HugePages_Rsvd:      446
HugePages_Surp:        0


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值