Alert Log Recommendation - "Increase per process memlock (soft) limit to at least <n>MB to lock <n>% of SHARED GLOBAL AREA (SGA) pages into physical memory" (Doc ID 2049901.1)

Last updated on JUNE 03, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.2 and later
Oracle Database - Standard Edition - Version 12.1.0.2 to 12.1.0.2 [Release 12.1]
Information in this document applies to any platform.

Symptoms

When starting Oracle 12c database, the alert log reports a recommendation to increase the per process memlock (soft) limit, e.g.:

Wed Aug 12 09:26:27 2015
Starting ORACLE instance (normal) (OS id: 14753)
...
Wed Aug 12 09:26:27 2015
Expected per process system memlock (soft) limit to lock
SHARED GLOBAL AREA (SGA) into memory: 4096M
Wed Aug 12 09:26:27 2015
Available system pagesizes:
 4K, 2048K
Wed Aug 12 09:26:27 2015
Supported system pagesize(s):
Wed Aug 12 09:26:27 2015
 PAGESIZE  AVAILABLE_PAGES  EXPECTED_PAGES  ALLOCATED_PAGES  ERROR(s)
Wed Aug 12 09:26:27 2015
4K       Configured         1048581         1048581        NONE
Wed Aug 12 09:26:27 2015
Reason for not supporting certain system pagesizes:
Wed Aug 12 09:26:27 2015
 2048K - Dynamic allocate and free memory regions
Wed Aug 12 09:26:27 2015
RECOMMENDATION:        <==============================================
Wed Aug 12 09:26:27 2015
1. Increase per process memlock (soft) limit to at least 4096MB
to lock 100% of SHARED GLOBAL AREA (SGA) pages into physical memory

 
As per /etc/security/limits.conf, the current settings are:

oracle soft memlock 1048576
oracle hard memlock 1048576

 
The actual memory configuration shows values like:

NAME                                          VALUE
--------------------------------------------- --------------------
...
memory_max_target                             4294967296        <--------  4G
memory_target                                 4294967296        <--------  4G
object_cache_max_size_percent                 10
object_cache_optimal_size                     102400
olap_page_pool_size                           0
result_cache_max_size                         10747904
sga_max_size                                  4294967296        <--------  4G
sga_target                                    0
shared_pool_reserved_size                     25165824
shared_pool_size                              0
streams_pool_size                             0
...

 
And the actual startup values are:

PARM                                     SESSVAL         INSTVAL
---------------------------------------- --------------- ---------------
__shared_pool_size                       503316480       503316480        <--------  480M
__large_pool_size                        33554432        33554432
__java_pool_size                         16777216        16777216
__streams_pool_size                      0               0
_kghdsidx_count                          1               1
_ksmg_granule_size                       16777216        16777216
__sga_target                             2566914048      2566914048        <--------  2.3G
_memory_imm_mode_without_autosga         TRUE            TRUE
__db_cache_size                          1879048192      1879048192        <--------  1.75G
__pga_aggregate_target                   1728053248      1728053248        <--------  1.6G

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms