Andrej Ricnik-Bay wrote:
> On 04/04/2008, Scott Marlowe <[EMAIL PROTECTED]> wrote:
>> Not entirely true.  on 32 bit OS / software, the limit is just under 2
>>  Gig.

That depends on the OS. On Linux it's AFAIK closer to 3GB because of
less address space being consumed by the kernel, though I think free app
address space might be further reduced with truly *massive* amounts of
RAM. There are patches (the "4GB/4GB" patches) that do dodgy address
space mapping to support a full 4GB application address space.

> Where do you get that figure from?
> 
> There's an architectural (theoretical) limitation of RAM at 4GB,
> but with the PAE (that pretty much any CPU since the Pentium Pro
> offers) one can happily address 64GB on 32-bit.

The OS can address more than 4GB of physical RAM with PAE, yes.

However, AFAIK no single process may directly use more than (4GB -
kernel address space requirements) of RAM without using special
extensions like address space windowing. Of course, they still benefit
from the extra RAM indirectly through bigger disk caches, less
competition with other processes for free physical RAM, etc.

As Pg uses a multiprocess model I imagine individual backends can make
use of a large amount of RAM (as work_mem etc), though the address space
consumed by the shared memory will limit how much it can use.

There's a decent, if Microsoft-specific, article about PAE here:

http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx


--
Craig Ringer

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Reply via email to