Linux内核参数信号量semaphore设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内核参数信号量semaphore设置相关的知识,希望对你有一定的参考价值。
当前系统信号量限制:
# ipcs -ls
—— Semaphore Limits ——–
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
SEMMSL
含义:每个信号量set中信号量最大个数
设置:最小250;对于processes参数设置较大的系统建议设置为processes+10
SEMMNI
含义:linux系统信号量set最大个数
设置:最少128
SEMMNS
含义:linux系统中信号量最大个数
设置:最少32000;SEMMSL * SEMMNI
SEMOPM
含义:semop系统调用允许的信号量最大个数
设置:最少100;或者等于SEMMSL
查看信号量设置:cat /proc/sys/kernel/sem
order:SEMMSL, SEMMNS, SEMOPM, SEMMNI
# cat /proc/sys/kernel/sem
250 32000 100 128
修改:
sysctl -w kernel.sem=”250 32000 100 128″
echo “kernel.sem=250 32000 100 128″ >> /etc/sysctl.conf
以上是关于Linux内核参数信号量semaphore设置的主要内容,如果未能解决你的问题,请参考以下文章
Linux内核源码分析 -- 同步原语 -- 信号量 semaphore
Linux内核源码分析 -- 同步原语 -- 信号量 semaphore
linux编程时的信号量问题。 我以前用过的信号量头文件是<semaphore.h>,而现在又发现还有个<sys/sem.h>