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가 0이 아닌 값을 가져야 함을 나타냅니다. 그러나 같은 상황은 나에게 일어나지 않았습니다. 누락된 내용이 있거나 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

관련 정보