Re: [Bugme-new] [Bug 11381] New: default shmmax

From: Peter Eisentraut
Date: Thu Aug 21 2008 - 04:35:10 EST


Alan Cox wrote:
> > It would be useful to get distro input on this. Do they override the
> > kernel default at boot time? If so, what do they do?
>
> Red Hat provide a sysctl tuning config file and I believe things like the
> Oracle install docs cover this.
>
> There is btw no earthly reason why a postgres package can't include a
> tool to do this or postgres can't check and update it as part of its
> own set up and config file options

I have explored this, it would be possible, but it would be a pain in the
neck. You'd need to add an option to postgres to print out how much shared
memory you would need for a given configuration (because there are multiple
factors in this), run this across all postgres instances on the machine, sum
it up, then arrange for this to be fed back to sysctl or pasted back into
sysctl.conf, being careful not to override or lower an existing setting that
might have wanted to reserve space for other things. Note that to make this
robust you would have to rerun this after every configuration change +
restart cycle across all postgres instances on the machine, race conditions
included. And you'd probably violate a few packaging guidelines on the way.
Plus, this would have to be distro-specific (not Linux-specific, but
distro-specific), doesn't help managed hosting with no root access, and
doesn't help people building from source. So altogether it is very
complicated.

In the meantime I am trying to explore why the shmmax default is what it is.
Or why it has to exist at all. If we can figure that out, maybe we can solve
a lot of users a lot of trouble with much less effort (including Oracle
users, why not).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/