sysv semaphores

Robin Becker robin at reportlab.com
Tue Nov 14 23:56:28 UTC 2006


Damian Wiest wrote:
.........
>> You'll want to use either sysctl(8) to change the settings dynamically, or
>> use /etc/sysctl.conf to modify the settings permanently.  I'm not sure if
>> there's a benefit to rolling a new kernel versus using sysctl.conf, or if
>> things even work that way anymore.
>>
>> # sysctl -a | grep seminfo
>>
>> kern.seminfo.semmni=10    # number of semaphore identifiers
>> kern.seminfo.semmns=60    # number of semaphores in system
>> kern.seminfo.semmnu=30    # number of undo structures in system
>> kern.seminfo.semmsl=60    # max number of semaphores per id
>> kern.seminfo.semopm=100   # max number of operations per semop call
>> kern.seminfo.semume=10    # max number of undo entries per process
>> kern.seminfo.semusz=100   # size in bytes of undo structure
>> kern.seminfo.semvmx=32767 # semaphore maximum value
>> kern.seminfo.semaem=16384 # adjust on exit max value
>>
>> Those comments are from /usr/include/sys/sem.h
>>
>> -Damian
> 
> Sorry, I forgot to mention a few things.
> 
> You should become familiar with ipcs(1) as it will allow you to query 
> the current state of SysV IPC facilities.  You'll probably find yourself 
> manually deleting semaphores depending on how well that extension cleans 
> up after itself during testing.
> 
> IIRC, the kernel maintains some in-memory datastructures to keep track
> of semaphores.  I believe increasing the maximum number of semaphores 
> will take up a negligible amount of main memory.
> 
> If you're interested, the "Design and Implementation of the 4.4 BSD 
> Operating System" (ISBN # 0201549794) has great coverage of this stuff.  
........
thanks very much all very useful info. Someone else recommended  looking 
at these options

kern.ipc.semmap=180
kern.ipc.semmni=160
kern.ipc.semmns=210
kern.ipc.semmnu=180
kern.ipc.semmsl=210
kern.ipc.semopm=250
kern.ipc.semume=160

kern.ipc.semusz=92
kern.ipc.semvmx=32767
kern.ipc.semaem=16384


and on my 6.1 system I see these with sysctl -a | grep ipc, however,

# sysctl -a | grep seminfo
/usr/RL_HOME/users/robin:
#

I guess they've been renamed.
-- 
Robin Becker


More information about the freebsd-questions mailing list