On Thu, Dec 28, 2006 at 09:11:24AM -0700, Scott Ribe wrote:
> > and
> > added the appropriate items to /etc/sysctl.conf
>
> 1) The location may be out of date. Don't add to /etc/sysctl.conf; edit the
> values already in /etc/rc. Where you set these values has shifted around
> somewhat in OS X releases. I know that sysctl didn't work in 10.3. I know
> that rc works in 10.4.
That location is not out of date. Use /etc/sysctl.conf instead of
/etc/rc for 10.4 (my boxes are at 10.4.8). /etc/rc is more likely to be
overwritten by system updates, and that file being overwritten has
caused some failures for buildfarm member jackal.
/etc/rc is what causes the values from /etc/sysctl.conf to be read in
and used. Some values, such as the shm-related values are specified in
the default /etc/rc after /etc/sysctl.conf is parsed up by /etc/rc and
applied, but in 10.4 the kern.sysv.shm* values can only be set once.
> 2) The values are out of date. All you're doing with those values is
> re-specifying the OS X defaults. With 8.2, IIRC postgres defaults to using
> more memory (the old default was extremely frugal), so out of the box you
> may need to increase those values rather than only having to increase the OS
> X values if you increased the postgres values. Just tack an extra zero onto
> the end of shmmax and shmall and postgres will work with its default values.
> If you want to increase postgres memory, you may have to revisit these
> values.
jackal has the following entries in /etc/sysctl.conf
kern.sysv.shmmax=167772160
kern.sysv.shmmin=1
kern.sysv.shmmni=64
kern.sysv.shmseg=16
kern.sysv.shmall=65536
kern.maxproc=2048
kern.maxprocperuid=512
> 3) The changes don't take effect until reboot, and often an OS X update will
> reset them so you have to be prepared to re-edit /etc/rc.
>
> Finally, the error message you're getting doesn't indicate that postgres is
> actually requesting much memory. I suspect that you may have something else
> running on your system which is using SysV shared memory. Nothing to worry
> about, but something to be aware of when trying to match /etc/rc shm values
> to postgres settings.
I'd have to check my logs to be certain, but that is the error I
remember getting on jackal when HEAD's memory requirements increased.
Postgres buildfarm runs are the only thing that uses shared memory that
normally run on jackal.
--
Seneca
tentra@gmail.com