Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-27102: out of memory, Linux-x86_64 Error: 12: Cannot allocate memory

carragomJan 5 2017 — edited Jan 6 2017

Hi there,

Having an issue with an Oracle Database Server 11.2.0.4 running on Oracle Linux 6.7 x86_64, this is a virtual server with 64G of RAM and 3 oracle instances. The kernel memory config is like this:

$ cat /proc/sys/kernel/shmmax

64424509440

$ cat /proc/sys/kernel/shmall

4294967296

$ cat /proc/sys/kernel/shmmni

4096

And the shared memory size is:

$ df -h | grep shm

tmpfs                  60G   25G   36G  42% /dev/shm

Relevant limits for the oracle user are:

$ ulimit -a

max locked memory       (kbytes, -l) 62914560

max memory size         (kbytes, -m) unlimited

open files                      (-n) 101365

virtual memory          (kbytes, -v) unlimited

All of these instances (lets call them A, B and C) are using automatic memory management, and their memory parameters are as follow:

A

SQL> show parameter target

NAME                               TYPE          VALUE

--------------------------          ----------        -----------

memory_max_target        big integer     48G

memory_target                 big integer     48G

pga_aggregate_target      big integer     0

sga_target                        big integer     0

B

SQL> show parameter target

NAME                               TYPE          VALUE

--------------------------          ----------        -----------

memory_max_target        big integer     8G

memory_target                 big integer     8G

pga_aggregate_target      big integer     0

sga_target                        big integer     0

C

SQL> show parameter target

NAME                               TYPE          VALUE

--------------------------          ----------        -----------

memory_max_target        big integer     2G

memory_target                 big integer     2G

pga_aggregate_target      big integer     0

sga_target                        big integer     0

Now the issue is presenting on instance A only, it happens when users try to connect. Further analysis shows the problem happening when the number of sessions reach 290, so when select count(*) from v$session returns 290 the problem starts happening. ¿Any idea where the problem could be?. As a side note, when the problem is visible the OS (free -g) still reports a few gigabytes of free memory normally around 10G. Also, no errors are present on the alert log.

Thanks a lot for your time.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 3 2017
Added on Jan 5 2017
39 comments
27,940 views