Re: Large pages

From: Jonathan Lewis <>
Date: Tue, 13 Nov 2012 10:53:26 -0000
Message-ID: <>

|"Noons" <> wrote in message
|On Nov 12, 11:24 am, Mladen Gogala <> wrote:
|> > In Unix (unless you use intimate shared memory) you get one map per
|> > process - so an Oracle system with 1,000 processes would end up using
|> > much memory for maps of the SGA as it would on the SGA itself if it
|> > using standard pages. In Windows Oracle runs as a single process with
|Actually, that is not correct. The problem has to do with the memory
|map for ALL physical memory, the number of virtual memory processes
|using it is irrelevant.


I can't work out from your statement exactly which bit of what I've said is not correct. Could you please clarify.

The "memory map" certainly maps logical addresses to physical memory addresses - easy enough to see (if you know the answer) when you look at some of the x$ objects and see wildly different addresses for objects - for example, Oracle maps the PGA for a process into an entirely different set of (logical) addresses from the SGA - to the extent that the (logical) gap between memory addresses can be far larger than the physical memory available on the machine.

But (depending on O/S and choice of O/S parameters the page size used in the mapping may vary, each process may have it's own map, or all processes that attach to the same physical memory may share a single map of the memory (e.g. Solaris Intimate Shared Memory). I wrote a note about this a coupld of years ago highlighting a surprise side effect ( ); more significantly Christo Kutrovsky (of Pythian) posted a video of a presentation demonstrating the various effects (and how to measure them) when configuring Linux.
(  )



Jonathan Lewis

Author: Oracle Core (Apress 2011)
Received on Tue Nov 13 2012 - 11:53:26 CET

Original text of this message