Huge Pages in oracle 11g

From: Dba DBA <oracledbaquestions_at_gmail.com>
Date: Sat, 5 Sep 2015 13:47:47 -0400
Message-ID: <CAE-dsOLRfTtb6keL7eTCRKkFhZKMWxiLOYr73VxtgRM5u5_aYQ_at_mail.gmail.com>



Redhat 6
Oracle RAC 11.2.0.4
Grid: 11.2.0.4
Huge page size: 2048

I set this up on a few clusters recently. I followed the oracle notes and a few pages on the web. I am trying to understand huge pages a little lower level. I am wondering if anyone can help me out.

  1. If I size my PGA_AGGREGATE_TARGET at 5 gb and my Huge Pages are sized at 2 GB, PGA will still need to use 3 huge pages and will effectively reserve 6 GB in memory right? Is it the same with SGA_MAX_SIZE
  2. When I use 'free -m' to see my free memory, I see that all of my Huge Page memory is already allocated and does not show up here. When users connect to a DB, do the user sessions use Huge Page or memory from free memory? Anything else associated with Oracle that will not use huge pages?
  3. See below from one of my boxes. I have read some unix sites and I still can't figure out what HugePages_RSVD and HugePages_Surp means to an oracle DB? I think all I care about Total and Free.

 grep -i huge /proc/meminfo
AnonHugePages: 0 kB

HugePages_Total:   26752
HugePages_Free:    20097
HugePages_Rsvd:    11781
HugePages_Surp:        0
Hugepagesize:       2048 kB


4. second huge page output is from the same 2 node cluster as the one above. The exact same DB and settings are running on each node. Why would there be so much less HugePages Free across servers?

I believe SGA is static. You set SGA_MAX_SIZE and at startup and this grabs a static amount of memory. Between 4 DBs I have 10 GB for PGA_AGGREGATE_TARGET. This isn't a static allocation right? The DBs are not busy and nothing is going on since we are off hours. So it doesn't look like PGA would be allocated. I bounced the DBs last night as part of a planned outage and the HugePage free was differnet as soon as I started them. I dont know what it was before. I did not have time to stop and start instances one by one on each node to see the variance in huge pages free by DB.

AnonHugePages: 0 kB

HugePages_Total:   26752
HugePages_Free:    12266
HugePages_Rsvd:     3950
HugePages_Surp:        0
Hugepagesize:       2048 kB

5. How do I tell which processes use huge pages vs. which use regular memory? I don't see a way to distinguish in top or any of the utilities?

6. I found out from a coworker last night that oracle sent out an alert recently about 'transparent huge pages' and they have to be disabled due to a bug. I have not read the article yet. Does anyone know of any other known bugs with huge pages?

7. anyone bench mark this huge pages to see an actual performance difference? I see oracle recommend it. I see all over the place people talk about implementing it, but what I don't see is a benchmark showing that it actually improves performances.

--
http://www.freelists.org/webpage/oracle-l
Received on Sat Sep 05 2015 - 19:47:47 CEST

Original text of this message