oracle大页面设置HugePages_Rsvd为0

问题描述

我一直在尝试从oracle AMM切换到ASMM大页面。我已经在RHEL 6上进行了以下更改

在/etc/sysctl.conf中添加了以下条目(如hugepages_setting.sh所建议)

      vm.nr_hugepages=777

在/etc/security/limits.conf中添加了以下条目

       oracle   soft   memlock    2831155
       oracle   hard   memlock    2831155

重新启动服务器 将oracle参数memory_target,memory_max_target,sga_target,sga_max_target和use_large_pages更改为特定值。

数据库重新启动后,我可以看到以下内容

     [root@rheloracle ~]# grep -i huge /proc/meminfo
      AnonHugePages:         0 kB
      HugePages_Total:     777
      HugePages_Free:        8
      HugePages_Rsvd:        0
      HugePages_Surp:        0
      Hugepagesize:       2048 kB

当我关闭数据库时,我可以看到HugePages_Free等于HugePages_Total。

       [root@rheloracle ~]# grep -i huge /proc/meminfo
       AnonHugePages:         0 kB
       HugePages_Total:     777
       HugePages_Free:      777
       HugePages_Rsvd:        0
       HugePages_Surp:        0
       Hugepagesize:       2048 kB

看起来像db级和o / s级的HugePage配置是同步的并且正在使用中。但是所有示例和文档(我已经提到)都表明,启用大页面后,HugePages_Rsvd应该具有非零值。但就我而言,情况并未如此。您能否建议我是否缺少某些东西,或者让HugePages_Rsvd 0是正常的。

(我正在RHEL6上运行oracle 18c xpress版)

根据请求添加oracle参数

sql> show parameter memory_target;

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
memory_target                big integer 0
sql> show parameter memory_max_target;

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
memory_max_target            big integer 0
sql> show parameter SGA;

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
allow_group_access_to_sga        boolean     FALSE
lock_sga                 boolean     FALSE
pre_page_sga                 boolean     TRUE
sga_max_size                 big integer 1536M
sga_min_size                 big integer 0
sga_target               big integer 1536M
unified_audit_sga_queue_size         integer     1048576
sql> 

将SGA_TARGET降低到1G之后。

[oracle@rheloracle dbs]$ grep -i huge /proc/meminfo
AnonHugePages:         0 kB
HugePages_Total:     777
HugePages_Free:      264
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
[oracle@rheloracle dbs]$ 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)