Skip site navigation (1) Skip section navigation (2)

Re: Posix Shared Mem patch

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Thom Brown <thom(at)linux(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Posix Shared Mem patch
Date: 2012-06-28 17:19:46
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
On Thu, Jun 28, 2012 at 7:15 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Thu, Jun 28, 2012 at 12:13 PM, Thom Brown <thom(at)linux(dot)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
>> 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*?

 Magnus Hagander

In response to


pgsql-hackers by date

Next:From: Andres FreundDate: 2012-06-28 17:27:50
Subject: Re: Posix Shared Mem patch
Previous:From: Robert HaasDate: 2012-06-28 17:15:54
Subject: Re: Posix Shared Mem patch

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group