Andrew Sullivan <[EMAIL PROTECTED]> writes:
> On Tue, Oct 21, 2003 at 10:12:15AM -0700, Josh Berkus wrote:
>> So what is the ceiling on 32-bit processors for RAM?

> ... Remember that, back in the old days on the
> pre-386s, accessing the extended or expanded memory (anyone remember
> which was which?) involved some fairly serious work, and not
> everything was seamless.  I expect something similar is at work here. 

Right.  A 32-bit processor can only (conveniently) allow any individual
process to access 4G worth of address space.  However the total RAM in
the system can be more --- the kernel can set up the hardware address
mappings to let different user processes use different up-to-4G segments
of that RAM.  And the kernel can also use excess RAM for disk buffer
cache.  So there's plenty of value in more-than-4G RAM, as long as
you're not expecting any single user process to need more than 4G.
This is no problem at all for Postgres, in which individual backend
processes don't usually get very large, and we'd just as soon let most
of the RAM go to kernel disk buffers anyway.

I think that some hardware configurations have problems with using RAM
above the first 4G for disk buffers, because of disk controller hardware
that can't cope with physical DMA addresses wider than 32 bits.  The
solution here is to buy a better disk controller.  If you google for
"bounce buffers" you can learn more about this.

What goes around comes around I guess --- I remember playing these same
kinds of games to use more than 64K RAM in 16-bit machines, 25-odd years

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?


Reply via email to