HugePages in Linux for Oracle Database Performance Tuning

A default OS Page size of 4KB and a SGA size of 16GB there will be 4.1 Millions(4194304) OS pages just for SGA alone.

HugePages
1. Page size is set 2MB instead of 4KB
2. Memory used by HugePages is locked and cannot be paged out.
With a pagesize of 2MB, 16GB SGA will have only 8192 pages compared to 4.1 million pages without HugePages.
This will drastically reduce the page table size.
Also, HugeTable memory is locked and so SGA can’t be swapped out. The working set of buffers for the paging/swapping daemon will be smaller.

It not compatible with AMM(Automatic Memory Management)
AMM the method new feature onwards 11g
Mostly we are using this method currently with two parameter memory_max_target and memory_target

HugePages configuration is compatible with ASMM (Automatic Shared Memory Management)
ASMM the method new feature onwards 10g
Many people with huge 64-bit Oracle servers increase their SGA size without implementing HugePages. The results have been well documented (see Oracle?s MOSC document id = 361670.1) where SGA sizes greater than 10GB have displayed decreases in performance. So as a general practice, always implement Huge Pages.
http://www.dba-oracle.com/t_linux_hugepages.htm

http://www.oracle-base.com/articles/linux/configuring-huge-pages-for-oracle-on-linux-64.php

http://www.pythian.com/blog/performance-tuning-hugepages-in-linux/

http://orainternals.files.wordpress.com/2008/10/high_cpu_usage_hugepages.pdf

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.