RHEL6でOracle 18C xeの大容量ページを有効にする

RHEL6でOracle 18C xeの大容量ページを有効にする

私は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

データベースレベルとオペレーティングシステムレベルのHugePage設定が同期して使用されているようです。しかし、私が引用したすべての例とドキュメントは、hugepagesが有効な場合、HugePages_Rsvdにゼロ以外の値を持たなければならないことを示しています。しかし、同じ状況は私には起こりませんでした。欠けているものがある場合、またはHugePages_Rsvd 0が正常な場合は、提案できますか?

(RHEL6でoracle 18c xpressバージョンを実行しています)

答え1

PRE_PAGE_SGAOracleパラメータがFALSE(Oracle 11より前のデフォルト値のようです)に設定されている場合は、「Keep Huge Pages」の値のみが表示されます。

Oracle 12以降、デフォルトでは次のものが表示されます。

SQL> show parameter PRE_PAGE_SGA

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pre_page_sga                         boolean     TRUE

$ grep HugePages_Rsvd /proc/meminfo
HugePages_Rsvd:        0

関連情報