Redhat中HugePage的示例分析

发布时间:2021-12-16 10:09:07 作者:小新
来源:亿速云 阅读:234

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

一、HugePage 介绍

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

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

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

二、信息查看

三、配制大页

  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:
    Redhat中HugePage的示例分析

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

    service tuned stop
    chkconfig tuned off
    service ktune stop
    chkconfig ktune off或者:
    tuned-adm off

五、和 Oracle 的关系

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

推荐阅读:
  1. Redhat Linux 7中硬盘操作的示例分析
  2. PHP7中Hugepage的使用方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hugepage redhat

上一篇:Rancher 2.4.x 迁移自定义 k8s 集群的示例分析

下一篇:Linux sftp命令的用法是怎样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》