Sunday, April 3, 2011

Oracle on Linux - hugepage conciderations

Memory « Oracle Scratchpad This is an interesting article about the significant per process memory overhead of running Oracle on Linux without hugepages:
Upgrade to a 64-bit operating system and a 3GB SGA and you need 8 bytes for each page in the memory map and have 786,432 pages, for a total of 6MB per process.
The principles are explained very clearly in this article, but the key thing is that this overhead can build up quickly:

They should be using ”huge pages” (a.k.a large pages) for memory mapping. I can’t remember whether their platform supported 1MB or 2MB pages, but even at 1MB per page that would be 3,072 pages which means 24KB per process, for a total of 7.9 MB – reclaiming most of 2GB, which could go straight into the SGA, targeted at the buffer cache.