On Thursday, June 28, 2012 07:19:46 PM Magnus Hagander wrote:
> On Thu, Jun 28, 2012 at 7:15 PM, Robert Haas <robertmh...@gmail.com> wrote:
> > On Thu, Jun 28, 2012 at 12:13 PM, Thom Brown <t...@linux.com> wrote:
> >> On 64-bit Linux, if I allocate more shared buffers than the system is
> >> capable of reserving, it doesn't start.  This is expected, but there's
> >> no error logged anywhere (actually, nothing logged at all), and the
> >> postmaster.pid file is left behind after this failure.
> > 
> > Fixed.
> > 
> > However, I discovered something unpleasant.  With the new code, on
> > MacOS X, if you set shared_buffers to say 3200GB, the server happily
> > starts up.  Or at least the shared memory allocation goes through just
> > fine.  The postmaster then sits there apparently forever without
> > emitting any log messages, which I eventually discovered was because
> > it's busy initializing a billion or so spinlocks.
> > 
> > I'm pretty sure that this machine does not have >3TB of virtual
> > memory, even counting swap.  So that means that MacOS X has absolutely
> > no common sense whatsoever as far as anonymous shared memory
> > allocations go.  Not sure exactly what to do about that.  Linux is
> > more sensible, at least on the system I tested, and fails cleanly.
> 
> What happens if you mlock() it into memory - does that fail quickly?
> Is that not something we might want to do *anyway*?
You normally can only mlock() mminor amounts of memory without changing 
settings. Requiring to change that setting (aside that mlocking would be a bad 
idea imo) would run contrary to the point of the patch, wouldn't it? ;)

Andres
-- 
 Andres Freund                     http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

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

Reply via email to