When you have 700+ server processes?
grep HugePages /proc/meminfo
athompson88 wrote:A couple of points that might "fix" the maths - Mark suggested 4KB memory pages, but some operating systems use 8KB as their standard size memory page; that brings the theoretical figures closer to what you see. Then your observation about "lazy allocation" is relevant - unless you set the "pre_page_sga" parameter (and the name I've used may not be quite right) the processes won't build the entire map as they connect, they'll build it incrementally as they use the memory.
oh I'm convinced. I'm just doing my due diligence because if i'm going to go back to my boss and make this recommendation, I need to understand everything about what I'm recommending. That was why I was asking about the math. I found a reference to something that says the number might vary due to "lazy allocation" (?) of memory. In any case, I'm not being argumentative at this point and I apologize if it came off that way in my latest comment. Probably the result of several hours of looking at text logs and comparing memory allocations for several hundred processes in top outputs. :)
athompson88 wrote:You've probably come across this before - but Christo Kutrowski from Pythian did a good presentation on memory a couple of years ago at the UKOUG annual conference. A version of it is available on the Pythian site as a video with backing notes: http://www.pythian.com/blogs/741/pythian-goodies-free-memory-swap-oracle-and-everything
I read about the pre_page_sga parameter and it's not in play here. To address your other point, we're using RHEL4 and we indeed have a 4K page size. I will say this. I've been a DBA for nearly 5 years (not a real long time I suppose), but I've only worked with RAC for the past 2 1/2, and this has been a great opportunity to learn about memory systems on a RAC vs a single-instance database. This has actually been a good exercise in learning a lot about the SGA and PGA in general.