xBSD shmem doc deficiency - Mailing list pgsql-hackers

From Neil Conway
Subject xBSD shmem doc deficiency
Date
Msg-id 871y5f4jf4.fsf@mailbox.samurai.com
Whole thread Raw
Responses Re: xBSD shmem doc deficiency  (Jon Jensen <jon@endpoint.com>)
Re: xBSD shmem doc deficiency  (Kris Jurka <books@ejurka.com>)
Re: xBSD shmem doc deficiency  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
The documentation on changing shared memory kernel settings on xBSD
(namely FreeBSD, possibly others as well) isn't ideal, IMHO. It says:

%%    The options SYSVSHM and SYSVSEM need to be enabled when the    kernel is compiled. (They are by default.) The
maximumsize of    shared memory is determined by the option SHMMAXPGS (in    pages). The following shows an example of
howto set the various    parameters:
 

options         SYSVSHM
options         SHMMAXPGS=4096
options         SHMSEG=256

options         SYSVSEM
options         SEMMNI=256
options         SEMMNS=512
options         SEMMNU=256
options         SEMMAP=256
   (On NetBSD and OpenBSD the key word is actually option singular.)
   You may also want to use the sysctl setting to lock shared memory   into RAM and prevent it from being paged out to
swap.
%%

However, it appears that shared memory & semaphore settings can also
be controlled via sysctls -- at least on a FreeBSD 4.7-RELEASE box, I
can see:

kern.ipc.semmap: 30
kern.ipc.semmni: 10
kern.ipc.semmns: 60
kern.ipc.semmnu: 30
kern.ipc.semmsl: 60
kern.ipc.semopm: 100
kern.ipc.semume: 10
kern.ipc.semusz: 92
kern.ipc.semvmx: 32767
kern.ipc.semaem: 16384
kern.ipc.shmmax: 33554432
kern.ipc.shmmin: 1
kern.ipc.shmmni: 192
kern.ipc.shmseg: 128
kern.ipc.shmall: 8192
kern.ipc.shm_use_phys: 0

However, the FreeBSD box I'm playing with isn't mine, so I'm not too
keen to change sysctls (well, that and I don't have root :-) ). Would
a kind BSD user confirm that:
       (a) the sysctls above *can* be used to change kernel shared           memory settings, and the default value of
thesysctl is           the kernel option referred to in the docs.
 
       (b) do the above sysctls work on NetBSD and OpenBSD as well?
       (c) the 'prevent shared memory paging' sysctl vaguely referred           to in the docs is
'kern.ipc.shm_use_phys',right?
 
       (d) does the above sysctl also work on NetBSD and OpenBSD?

Thanks in advance,

Neil

-- 
Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [GENERAL] Bug with sequence
Next
From: Justin Clift
Date:
Subject: Re: [GENERAL] Bug with sequence