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 ago... regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html