千家信息网

Redhat中HugePage的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"Redhat中HugePage的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Redhat中HugePage的示例分析"
千家信息网最后更新 2026年11月01日Redhat中HugePage的示例分析

这篇文章主要为大家展示了"Redhat中HugePage的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Redhat中HugePage的示例分析"这篇文章吧。

一、HugePage 介绍

在操作系统Linux环境中,内存是以页Page的方式进行分配,默认大小为4K。如果需要比较大的内存空间,则需要进行频繁的页分配和管理寻址动作。

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

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

二、信息查看

  • 系统

    uname -r

  • 查看共享段

    ipcs -m

  • 查看大页信息

    grep Huge /proc/meminfo

三、配制大页

  1. 确定内存大小
    free -g

  2. 计算HugePages_Total:脚本见401749.1
    执行脚本,注意这个过程中要求Oracle所有实例,包括数据库和ASM都启动、AMM关闭,以及SGA大小超过100M。

  3. 修改/etc/security/limits.conf参数文件,添加数据库实例用户的memlock限制。
    这个过程中使用memlock标记,用于设置每个用户允许的最大内存使用情况。这个取值可以设置为数据库服务器物理内存大小。
    注意:可用内存>value(锁定内存)>=HugePages_Total*Hugepagesize
    HugePagesize:

    vi /etc/security/limits.conf

    # 添加  oracle soft memlock value  oracle hard memlock value
  4. 验证limit
    ulimit -l

  5. 更改参数/etc/sysctl.conf
    vm.nr_hugepages = HugePages_Total值(见第2步)

  6. 重启系统及数据库

  7. 验证
    grep Huge /proc/meminfo

四、关闭大页

  1. 方法一:优先方法是修改/boot/grub/grub.conf文件,在kernel行的后面加上"transparent_hugepage=never":

    title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)          root (hd0,0)          kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_xty64-lv_root rd_NO_LUKS.UTF-8 rd_LVM_LV=vg_xty64/lv_root rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_DM  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_xty64/lv_swap  transparent_hugepage=never          initrd /initramfs-2.6.32-358.el6.x86_64.img
  2. 在/etc/rc.local中加入下面的代码行:

    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then     echo never > /sys/kernel/mm/transparent_hugepage/enabled  fi  if test -f /sys/kernel/mm/transparent_hugepage/defrag; then     echo never > /sys/kernel/mm/transparent_hugepage/defrag  fi
  3. 重启后校验:

    cat /sys/kernel/mm/transparent_hugepage/defragalways [never]cat /sys/kernel/mm/transparent_hugepage/enabled always [never]
  4. 如果结果非预期,可能是由于Linux的ktune和tuned服务所导致。在此种情况下,建议关闭这两项服务:

    service tuned stopchkconfig tuned offservice ktune stopchkconfig ktune off或者:tuned-adm off

五、和 Oracle 的关系

  • AMM简介:SGA 在 Linux中是通过系统共享内存实现,而PGA是通过进程私有空间实现。AMM实际上最大的功能是将SGA和PGA空间调节的通道打通,这必然带来对原有SGA共享内存方式架构的影响。在AMM时,ipcs -m显示的虚拟空共享段就是实际效果的一部分。

  • AMM & HugePage

    AMM是不支持HugePage的,如果强在AMM+HugePage模式下打开数据库,是会遇到失败信息。所有使用HugePages必须设置内存参数MEMORY_TARGET / MEMORY_MAX_TARGET 为 0

    如果使用了大内存和SGA,那么HugePage对提高数据库性能就非常重要。如果数据库SGA脚本,比如超过8G(个人经验:建议SGA>32GB),就需要配置HugePages。配置HugePages 有如下好处:

    • 大页和普通页:传统页大小是4K而hugeLTB大小 2048k。这意味着系统需要处理512倍传统页面。

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

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

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

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


以上是"Redhat中HugePage的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内存 大小 数据 数据库 空间 系统 过程 传统 示例 分析 信息 内容 参数 情况 篇文章 脚本 服务 管理 最大 实例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 互联网科技工作委员会副主任毛军 互联网科技logo 碳银互联网科技有限公司 互联网前沿科技 互联网科技公司做什么 华脉科技工业互联网产品 互联网教育科技公司vipkid 小米互联网科技园设置 承德科技产业互联网发展 栖莱科技互联网股份有限公司 互联网科技的全部知识 明优互联网科技有限公司 互联网方面的科技前沿 互联网营销推广黑科技 互联网风格科技公司名称 广州互联网高科技取餐柜 国产互联网科技公司 互联网领先科技活动 上海旺乐尼互联网科技有限公司 A股互联网金融科技公司 互联网科技有限公司图片 互联网科技ppt模板 互联网科技股有哪些 互联网科技素材视频竖屏 昊天互联网科技有限公司 电子科技大学互联网创业大赛 长沙茂晟互联网科技有限公司 烟台灵鸽互联网科技有限公司 本届互联网大会上的黑科技
0