HugePages – Overhead of Not Using
May 30, 2012 4 Comments
I’ve read a fair bit about HugePages and their importance especially for Oracle databases with large SGAs and a large number of dedicated connections.
Admittedly, some of what I read is over my head – I’m not a production DBA and quite often I don’t even have access to the box unfortunately – but I know who the experts are and I trust them (doesn’t mean that an expert’s opinion shouldn’t be tested of course):
- Kevin Closson – Configuring Linux HugePages for Oracle Databases is just too difficult Part I
- Kevin Closson – Configuring Linux HugePages for Oracle Databases is just too difficult Part II
- Kevin Closson – Configuring Linux HugePages for Oracle Databases is just too difficult Part III
- Kevin Closson – Little Things Doth Crabby Make IX
- Kevin Closson – Quantifying Hugepages Memory Support with Oracle 11g
- Recent Oracle-l discussion
- Riyaj Shamsudeen – Performance tuning: Hugepages in Linux
Now, the title in Kevin’s posts asks ( rhetorically) “Configuring Linux Hugepages for Oracle Database Is Just Too Difficult! Isn’t It?”
And I think a lot of the time, it is. Not because of the topic but because of the structure of modern IT departments.
When I tried to tackle the subject before at a client, it was awkward – it wasn’t a subject I could talk about with any great authority although I could refer them to the expert material above and … well, to cut a short story shorter and keep me out of trouble… we didn’t. I was overruled. No-one else at the client was using HugePages on 11g. So no HugePages and no chance to test it.
Well, in the end, we didn’t go with AMM, because for our applications, according to our tests, we were better suited to ASMM (damn these acronyms).
Statements like this from Kevin’s articles above are easy to understand:
Reasons for Using Hugepages
- Use hugepages if OLTP or ERP. Full stop.
- Use hugepages if DW/BI with large numbers of dedicated connections or a large SGA. Full stop.
- Use hugepages if you don’t like the amount of memory page tables are costing you (/proc/meminfo). Full stop.
“Large number of dedicated connections” and “large SGA” in the context of hugepages can only be quantified by the amount of memory wasted in page tables and whether the administrator is satisfied with that cost.”
Those are pretty clear cut.
So, if I understand everything correctly, I should not like this, right?:
$ grep "PageTables" /proc/meminfo PageTables: 41622228 kB $
That’s 40 gig of overhead for an SGA of 60 gig and a whole bunch of connections.
So, don’t need HugePages, eh?
Bit late now.