Some more hugepages questions/thoughts

  • From: <Christopher.Taylor2@xxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 1 May 2013 12:45:33 -0500

I'm just now beginning to work through the hugepages configuration on Linux 5.8 
64-bit, running Oracle
Dev and QA are both 3 node RAC systems running 4 separate databases in each 
environment. (So node1 of each environment has 4 instances)
Prod has 1 database across 3 nodes (1 instance on each node)

If I wanted to follow the 80-20 rule (80% of memory for SGA, 20% for PGA/System 
Processes), could I just configure huge page pool (vm.nr_hugepages) derived 
from the 80% number?  (As opposed to running the shell script provided by 
metalink to give me an accurate number for vm.nr_hugepages).

The reason I ask this question is that the number of sessions/processes 
connected varies widely during day/night cycles and the workload is much 

I'm trying to keep this simple (and perhaps I'm already overthinking it) but it 
seems if I allocated roughly 80% of total memory to hugepages then I could fit 
all my databases inside that pool as needed and practically never worry about 
the system memory being overallocated (as long as I size my Oracle pools 
correctly for each instance).

I was also under the impression that you could set the pagesize 2MB, 4MB etc on 
Linux like you can on AIX - wouldn't that affect the vm.nr_hugepages figure 
that is used?

So, if I wanted to do this, how could I back my way into the vm.nr_hugepages 
starting from 128GB system memory:

128GB * 0.80 = 102.4 GB
ASM uses roughly 500MB - so now I have 101.9 GB.

So to be safe, let's use 101 GB as the available system memory I want to 
allocate to hugepages.

How do I back into the nr_hugepages from here?


Chris Taylor
Oracle DBA
Parallon IT&S


Other related posts: