Database Reference
In-Depth Information
With the information that another 1257 large pages (of 2048KB) are required you can modify the /etc/systctl.
conf file to ensure these are set aside when the system boots. The value to be entered is the sum of all the huge pages
needed for all SGAs on the host plus a few extra ones for safety. Only one database will be used on the server in the
following example:
vm.nr_hugepages = 1400
Memory permitting, you could try to reserve them without reboot: simply echo “1400” into /proc/sys/vm/
nr_hugepages . If your memory is too fragmented this might not work and you have to reboot. The use of huge pages
is shown in the /proc/meminfo file. To check if the requested number of huge pages is available, you could grep for
HugePages:
[root@server1 ~]# grep HugePages /proc/meminfo
HugePages_Total: 1400
HugePages_Free: 1400
HugePages_Rsvd: 0
HugePages_Surp: 0
[root@server1 ~]#
The change to /etc/sysctl.conf alone will not allow the oracle (and grid) user to use large pages. Large pages
require the memory to be “locked,” and large pages cannot be paged out. Since the 12c preinstall RPM does not set the
necessary parameter in /etc/security/limit* , you need to do so yourself. Using your favorite text editor, modify
/etc/security/limits.conf or its equivalent, and add configuration parameters similar to these:
oracle soft memlock 60397977
oracle hard memlock 60397977
grid soft memlock 60397977
grid hard memlock 60397977
The value to be set is in kilobytes. You could simply take the amount of RAM in your server minus 10 percent
and set this in the file. Remember that this is not the allocation; it only defines how much memory the process may
lock in theory.
A new session is required for these settings to take effect. If you want to ensure that your database enforces the
use of large pages, set “use_large_pages” to “only”. Note this is incompatible with Automatic Memory Management!
If you have memory_target set in your initialization file, you will get the following error:
******************************************************************
Large pages are not compatible with specified SGA memory parameters
use_large_pages = "ONLY" cannot be used with memory_target,
memory_max_target, _db_block_cache_protect or
use_indirect_data_buffers parameters
Large pages are compatible with sga_target and shared_pool_size
******************************************************************
If permissions are set correctly, namely the memlock item in /etc/security/limits.conf , and if enough large
pages are available you will see a success message in the alert.log:
****************** Large Pages Information *****************
Parameter use_large_pages = only
Per process system memlock (soft) limit = 58 GB
Search WWH ::




Custom Search