Thread: Buffers and MacOS X

Buffers and MacOS X

From
Hunter Hillegas
Date:
We are installing postgres on a MacOS X Server...

On our Linux box, we had to muddle with some parameters to be able to
increase the shared memory and buffers in postgres.

Does anyone know how to do this in OS X? Or is it required?

Thanks,
Hunter


Re: Buffers and MacOS X

From
Tom Lane
Date:
Hunter Hillegas <lists@lastonepicked.com> writes:
> We are installing postgres on a MacOS X Server...
> On our Linux box, we had to muddle with some parameters to be able to
> increase the shared memory and buffers in postgres.
> Does anyone know how to do this in OS X? Or is it required?

In OS X 10.1, the max shared memory was a hardwired number that couldn't
be changed without recompiling the kernel --- and the standard setting
was none too darn large, either :-(.  I dunno if Apple has improved
matters in 10.2.

            regards, tom lane

Re: Buffers and MacOS X

From
Bruce Momjian
Date:
Tom Lane wrote:
> Hunter Hillegas <lists@lastonepicked.com> writes:
> > We are installing postgres on a MacOS X Server...
> > On our Linux box, we had to muddle with some parameters to be able to
> > increase the shared memory and buffers in postgres.
> > Does anyone know how to do this in OS X? Or is it required?
>
> In OS X 10.1, the max shared memory was a hardwired number that couldn't
> be changed without recompiling the kernel --- and the standard setting
> was none too darn large, either :-(.  I dunno if Apple has improved
> matters in 10.2.

I was going to point him to the development docs, but I see no mention
of OSX shared kernel limit tuning in there at all.  Can someone submit
info to beef it up for OSX?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Re: Buffers and MacOS X

From
Jeffrey Bohmer
Date:
>Tom Lane wrote:
>> Hunter Hillegas <lists@lastonepicked.com> writes:
>> > We are installing postgres on a MacOS X Server...
>> > On our Linux box, we had to muddle with some parameters to be able to
>> > increase the shared memory and buffers in postgres.
>> > Does anyone know how to do this in OS X? Or is it required?
>>
>> In OS X 10.1, the max shared memory was a hardwired number that couldn't
>> be changed without recompiling the kernel --- and the standard setting
>> was none too darn large, either :-(.  I dunno if Apple has improved
>> matters in 10.2.
>
>I was going to point him to the development docs, but I see no mention
>of OSX shared kernel limit tuning in there at all.  Can someone submit
>info to beef it up for OSX?


Here are instructions for setting shared memory limits on Mac OS X 10.2.

Edit the file:

    /System/Library/StartupItems/SystemTuning/SystemTuning

Near the bottom, you will see these lines:

    sysctl -w kern.sysv.shmmax=4194304
    sysctl -w kern.sysv.shmmin=1
    sysctl -w kern.sysv.shmmni=32
    sysctl -w kern.sysv.shmseg=8
    sysctl -w kern.sysv.shmall=1024

These parameters are described in this document:

    http://www.postgresql.org/idocs/index.php?kernel-resources.html

OS X is simialar to BSD/OS in the values for each parameter.  For my system, I want PostgreSQL to use 128MB worth of
buffers. I used the calculations provided in the "Reasonable Values" column of the parameters table in the document
above.

So here are my settings (allowing a little extra room):

    sysctl -w kern.sysv.shmmax=167772160    # bytes
    sysctl -w kern.sysv.shmmin=1
    sysctl -w kern.sysv.shmmni=32
    sysctl -w kern.sysv.shmseg=8
    sysctl -w kern.sysv.shmall=65536        # 4K pages

Now, I can set shared_buffers in postgresql.conf to:

    shared_buffers = 16384    # number of buffers, 8K each

- Jeff
--

Jeff Bohmer
VisionLink, Inc.
_________________________________
303.402.0170
www.visionlink.org
_________________________________
People. Tools. Change. Community.

Re: Buffers and MacOS X

From
Bruce Momjian
Date:
Added to 7.3 documentation. Thanks.

---------------------------------------------------------------------------

Jeffrey Bohmer wrote:
> >Tom Lane wrote:
> >> Hunter Hillegas <lists@lastonepicked.com> writes:
> >> > We are installing postgres on a MacOS X Server...
> >> > On our Linux box, we had to muddle with some parameters to be able to
> >> > increase the shared memory and buffers in postgres.
> >> > Does anyone know how to do this in OS X? Or is it required?
> >>
> >> In OS X 10.1, the max shared memory was a hardwired number that couldn't
> >> be changed without recompiling the kernel --- and the standard setting
> >> was none too darn large, either :-(.  I dunno if Apple has improved
> >> matters in 10.2.
> >
> >I was going to point him to the development docs, but I see no mention
> >of OSX shared kernel limit tuning in there at all.  Can someone submit
> >info to beef it up for OSX?
>
>
> Here are instructions for setting shared memory limits on Mac OS X 10.2.
>
> Edit the file:
>
>     /System/Library/StartupItems/SystemTuning/SystemTuning
>
> Near the bottom, you will see these lines:
>
>     sysctl -w kern.sysv.shmmax=4194304
>     sysctl -w kern.sysv.shmmin=1
>     sysctl -w kern.sysv.shmmni=32
>     sysctl -w kern.sysv.shmseg=8
>     sysctl -w kern.sysv.shmall=1024
>
> These parameters are described in this document:
>
>     http://www.postgresql.org/idocs/index.php?kernel-resources.html
>
> OS X is simialar to BSD/OS in the values for each parameter.  For my system, I want PostgreSQL to use 128MB worth of
buffers. I used the calculations provided in the "Reasonable Values" column of the parameters table in the document
above.
>
> So here are my settings (allowing a little extra room):
>
>     sysctl -w kern.sysv.shmmax=167772160    # bytes
>     sysctl -w kern.sysv.shmmin=1
>     sysctl -w kern.sysv.shmmni=32
>     sysctl -w kern.sysv.shmseg=8
>     sysctl -w kern.sysv.shmall=65536        # 4K pages
>
> Now, I can set shared_buffers in postgresql.conf to:
>
>     shared_buffers = 16384    # number of buffers, 8K each
>
> - Jeff
> --
>
> Jeff Bohmer
> VisionLink, Inc.
> _________________________________
> 303.402.0170
> www.visionlink.org
> _________________________________
> People. Tools. Change. Community.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073