xBSD shmem doc deficiency

From: Neil Conway <neilc(at)samurai(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: xBSD shmem doc deficiency
Date: 2002-11-21 04:48:47
Message-ID: 871y5f4jf4.fsf@mailbox.samurai.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 maximum size of
shared memory is determined by the option SHMMAXPGS (in
pages). The following shows an example of how to 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 the sysctl 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(at)samurai(dot)com> || PGP Key ID: DB3C29FC

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Clift 2002-11-21 05:03:18 Re: [GENERAL] Bug with sequence
Previous Message Tom Lane 2002-11-21 04:11:55 Re: [GENERAL] Bug with sequence