This discussion is archived
4 Replies Latest reply: Nov 24, 2013 6:01 PM by Dimka9 RSS

Huge pages configuration ?!?

Dimka9 Newbie
Currently Being Moderated

My server:

uname -a

Linux sds 2.6.39-200.24.1.el6uek.x86_64 #1 SMP Sat Jun 23 02:39:07 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

 

I try to configure two oracle DB (both 11.2.0.2) to use huge pages. After fresh server reboot db starting and I see:

 

alert.log1:

Starting ORACLE instance (normal)

****************** Huge Pages Information *****************

Huge Pages memory pool detected (total: 1700 free: 1642)

DFLT Huge Pages allocation successful (allocated: 793)

***********************************************************

 

alert.log2:

Starting ORACLE instance (normal)

****************** Huge Pages Information *****************

Huge Pages memory pool detected (total: 1700 free: 1088)

Huge Pages allocation failed (free: 1311 required: 793)

Startup will fail as use_large_pages is set to "ONLY"

******************************************************

 

 

Why It cannot get 793 pages while 1311 free? I think memory is not fragmented because fresh boot.

 

Is it related with error in messages.log:

kernel: Using mlock ulimits for SHM_HUGETLB is deprecated

  • 1. Re: Huge pages configuration ?!?
    Dude! Guru
    Currently Being Moderated

    https://oss.oracle.com/el6/docs/RELEASE-NOTES-GA-en.html

     

    An application using hugepages may see a warning message like "Using mlock ulimits for SHM_HUGETLB deprecated." To avoid this warning, the application should be configured to use CAP_IPC_LOCK or the process (e.g. Oracle) should be added to the hugetlb_shm_group.

     

     

    You the need to configure your Oracle GID into /proc/sys/vm/hugetlb_shm_group. If you use the following commands to check:

     

    cat /proc/sys/vm/hugetlb_shm_group

    id -g oracle

     

    If the GID is not the same you can probably use the following:

     

    ogid=$(id -g oracle)

    echo $ogid > /proc/sys/vm/hugetlb_shm_group

    sysctl -w vm.hugetlb_shm_group=$ogid

     

    Also verify your /etc/security/limits.conf

     

    oracle soft memlock unlimited

    oracle hard memlock unlimited

  • 2. Re: Huge pages configuration ?!?
    Dimka9 Newbie
    Currently Being Moderated

    Current settings(when error is rising):

    [root@sds var]#cat /proc/sys/vm/hugetlb_shm_group

    501

    [root@sds var]# id -g oracle

    501

    # For ORACLE huge pages using

    *               soft    memlock         4194304

    *               hard    memlock         4194304

    Do you think memlock setting is too small?

  • 3. Re: Huge pages configuration ?!?
    Dude! Guru
    Currently Being Moderated

    I really don't know what the total memory requirements for your oracle account are. If the machine is used only for oracle, why not setting ulimit to unlimited? Or at least try to see if it solves your problem.

  • 4. Re: Huge pages configuration ?!?
    Dimka9 Newbie
    Currently Being Moderated

    Dude! wrote:

     

    Or at least try to see if it solves your problem.

     

    change to:

    # For ORACLE huge pages using

    *               soft    memlock         unlimited #4194304

    *               hard    memlock         unlimited #4194304

    reboot server.

     

    Error the same: second instance can`t use huge pages.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points