From: Craig Ringer <craig@postnewspapers.com.au>
Cc: pgsql-performance@postgresql.org <pgsql-performance@postgresql.org>
Subject: Re: Max shared_buffers
Date: Fri, 04 Apr 2008 01:58:32 +0800
Message-ID: <47F51AC8.2040309@postnewspapers.com.au> (raw)
In-Reply-To: <b35603930804031016k4f1d2c28x1753da0e7cc7c651@mail.gmail.com>
References: <47F324B4.6010404@mansionfamily.plus.com>
<b42b73150804022136y23e320e7w86540f2264aad33e@mail.gmail.com>
<200804031256103599734@gmail.com>
<f966c2ee0804030310w3581a17byb2f46f9b276d11b@mail.gmail.com>
<dcc563d10804030949q64faad5ej2ca587faf4f5cae3@mail.gmail.com>
<b35603930804031016k4f1d2c28x1753da0e7cc7c651@mail.gmail.com>
Andrej Ricnik-Bay wrote:
> On 04/04/2008, Scott Marlowe <scott.marlowe@gmail.com> 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: craig@postnewspapers.com.au
Subject: Re: Max shared_buffers
In-Reply-To: <47F51AC8.2040309@postnewspapers.com.au>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox