Always consult Oracle documentation like:
Master Note: Overview of Unix Resources (Doc ID 1498952.1)
(chapter Huge pages)
And do remember that default values differ according ix you have.
And on Linux 7 huge pages have ability to be swapable (by default) what leads to even more trouble .... so at least disable that property.
So recheck twice calculation before going to production.
Thanks for the comment, the above blog post is quite old and applicable only for Redhat Linux or OEL Since, I've been working only on Redhat or OEL extensively and Linux 7 is out of scope for this post, but definitely this is a good info you've shared and will take a look on it for understanding the changes in recent versions of Linux.
great article nevertheless I have one question: why should I calculate huge pages instead of setting it simply to a reasonable size? If I only have some oracle databases running on the server I would guess setting hugepages to 50% of total RAM should fit for all purposes (50% SGA, rest PGA, etc.). This would avoid the need for Unix administrator in case I have to increase SGA.
You said it right yourself by saying "reasonable size", We need to calculate the reasonable size for hugepages and lock it for Oracle only usage and free it from OS kernel overhead to manage the memory. I think blindly having a hugepage settings is not a best practice and following this thumbrule(Based of total SGA sizes of all the DBs running on that server) is the right way to do.