The Hermit Hacker <scrappy@hub.org> writes:
> Is there any way (sysctl?) of determining the max # of semaphores
> configured into a system?
On NetBSD (default configuration; I had to change it for PostgreSQL):
athene:tih> ipcs -S
seminfo: semmap: 30 (# of entries in semaphore map) semmni: 10 (# of semaphore identifiers)
semmns: 60 (# of semaphores in system) semmnu: 30 (# of undo structures in system) semmsl: 60
(max# of semaphores per id) semopm: 100 (max # of operations per semop call) semume: 10 (max # of
undoentries per process) semusz: 100 (size in bytes of undo structure) semvmx: 32767 (semaphore
maximumvalue) semaem: 16384 (adjust on exit max value)
athene:tih> ipcs -Q
msginfo: msgmax: 16384 (max characters in a message) msgmni: 40 (# of message queues) msgmnb:
2048 (max characters in a message queue) msgtql: 40 (max # of messages in system) msgssz: 8
(sizeof a message segment) msgseg: 2048 (# of message segments in system)
athene:tih> ipcs -M
shminfo: shmmax: 4194304 (max shared memory segment size) shmmin: 1 (min shared memory segment size)
shmmni: 128 (max number of shared memory identifiers) shmseg: 32 (max shared memory segments per
process) shmall: 1024 (max amount of shared memory in pages)
> For that matter, being able to do a configure check to see if
> semaphores are even compiled into the system or not (ala FreeBSD)
> might be nice too...
Again, on NetBSD:
athene:tih> sysctl -a | grep sysv
kern.sysvmsg = 1
kern.sysvsem = 1
kern.sysvshm = 1
-tih
--
Popularity is the hallmark of mediocrity. --Niles Crane, "Frasier"