Whoa! Shit! I'm working on a system which probably will use ALOT of
semaphores and mutexes. Is this the limits, <1000? I was hoping for
millions. I have asked around but no-one I have asked seems to know the
answer.
I'm using pthreads on Linux right now but will probably use HP-UX, AIX,
True64 or Solaris when going live.
How many semaphores and mutexes can one have, both in theory and
practically?
/Roger
-----Original Message-----
From: Alfred Perlstein [mailto:bright@wintelcom.net]
Sent: Friday, November 10, 2000 5:56 AM
To: Philip Hallstrom
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Increasing the number of semaphores on FreeBSD
4.1 (clarification)
* Philip Hallstrom <philip@adhesivemedia.com> [001109 20:37] wrote:
>
> > * Philip Hallstrom <philip@adhesivemedia.com> [001109 19:12] wrote:
> > > Hi -
> > > I recently tried to start postmaster (7.0.2) with -B 128 -N 64 and
> > > got the "semget failed" error. Looking in the faq[1] it says I need
to
> > > increase the amount allowed in the kernel. It tells me what I need to
do,
> > > but my question is what values should I set them to? Is there any way
to
> > > figure it out based on load, etc? Also, are there detrimental effects
to
> > > setting them too high?
> >
> > What OS are you using?
>
> FreeBSD 4.1
>
> > > [1]http://postgresql.readysetnet.com/docs/faq-bsdi
> >
> > If it's FreeBSD we've documented the tunables here:
> > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/conf/NOTES?rev=1.857
> >
> > The docs will probably also help if you're using BSD/os.
> >
> > Also you don't want to "go nuts" with raising these values, they
> > can cause the kernel to allocate too much memory for these structures
> > and cause problems booting or running your system.
>
> Yeah, that's what I've seen... I guess I was wondering if there were any
> guidelines to raising them.. I mean should I up the defaults by 10? Or
> up them by a percentage (to keep the relationship), etc...
here's what I use:
options SHMMAXPGS=512000
options SHMSEG=128
options SEMMNI=40 # /* # of semaphore identifiers */
options SEMMNS=240 # /* # of semaphores in system */
options SEMUME=40 # /* max # of undo entries per process
*/
options SEMMNU=120 # /* # of undo structures in system */
I have a gig of RAM though.
--
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
"I have the heart of a child; I keep it in a jar on my desk."