zaterdag 25 oktober 2014

Configure hugepages on linux for Oracle


Introduction

Due to some performance issues with our Oracle RAC 11gR2 cluster running on OUL 5 we decided  to increase the physical memory of both nodes in our cluster from 24G to 96G each. The memory of our main production database was also increase from 14G to 48G per instance. Since we did not want to run into issues with regards to memory pages (default 4KB) we also introduced hugepages.

Steps

1 – After installing the memory in the server and rebooting check if all memory is visible from the OS



root [ ~ ]# dmidecode -t 17 | grep Size
        Size: 16384 MB
        Size: 16384 MB
        Size: 16384 MB
        Size: 16384 MB
        Size: 16384 MB
        Size: 16384 MB
        Size: No Module Installed
        Size: No Module Installed
        Size: No Module Installed
        Size: No Module Installed
        Size: No Module Installed
        Size: No Module Installed


2 – Next we need to figure out how much HugePages we need to reserve. To do this we have to check what the size is of a Hugepage. This is by default 2048 kB :

oracle [ ~ ]$ grep Hugepagesize /proc/meminfo
Hugepagesize:     2048 kB
oracle [ ~ ]$

We want to assign 48 Gig to our Oracle instance PRODDB2

ð  (48G * 1024) * 1024 è 50331648 (size in kB)
ð  50331648 / 2048  è 24576 (minimum nr of hugepages we need to configure)

The number of hugepages the os needs to reserve has to be configured in /etc/sysctl.conf

# HugePages
vm.nr_hugepages=24580

We configured 4 more hugepages then required….just in case
Next reload the /etc/sysctl.conf file using sysctl -p



sysctl –p



Check if the amount of hugepages is actually configured :


root [ ~ ]# grep Huge /proc/meminfo
HugePages_Total: 24580
HugePages_Free:  24580
HugePages_Rsvd:      0
Hugepagesize:     2048 kB


That's it ...now we can use HugePages.

Geen opmerkingen:

Een reactie posten