linux kernel.sem参数,linux系统关于kernel.sem调优

本文介绍了如何诊断和解决Linux系统中信号队列超过限制的问题,通过调整`kernel.sem`参数并清理不必要的信号量,以修复OpenManage插件的超时启动和停止问题。同时,详细解释了`kernel.sem`参数的意义,并展示了使用`ipcs`和`ipcrm`命令进行检查和清理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cat /proc/sys/kernel/sem

250     32000   32      128

或者

ipcs -ls

------ Semaphore Limits --------

max number of arrays = 128

max semaphores per array = 250

max semaphores system wide = 32000

max ops per semop call = 32

semaphore max value = 32767

我机器上的信号队列arrays

ipcs -a | wc -l

144

144>128 为什么超了,这个我也不懂,但是我的openmanage插件一直超时,而且无法启动,无法停止,真TM的 查这个问题花了我好长时间

首先 介绍下kernel.sem这4个参数的意义

cat /proc/sys/kernel/sem

250     32000   32      128

250       SEMMSL    max semaphores per array     信号集容纳最大信号数量

32000     SEMMNS    max semaphores system wide   所有信号的最大数量

32        SEMOPM    max ops per semop call       调用单个信号集中最大信号数量

128       SEMMNI    max number of arrays         信号集的最大值

首先

max semaphores per array

max number of arrays

这2个参数肯定是不够的,我们先调高一点

echo "500 641280 500 500" > /proc/sys/kernel/sem

我们利用

ipcs -a | grep nagios | wc -l

90                                      查看当前nagios用户信号数量

然后把它全清理掉。

ipcs -a | grep nagios | awk '{print $2}' | xargs -n1 ipcrm -s                  关于ipcs和ipcrm这2个命令的解释网上很多,我就不再说了

ipcs -a | grep nagios | wc -l

全部清理掉后,重启应用  比如

/opt/dell/srvadmin/sbin/srvadmin-services.sh stop

ipcs用法

ipcs -a  是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息

ipcs -m  打印出使用共享内存进行进程间通信的信息

ipcs -q   打印出使用消息队列进行进程间通信的信息

ipcs -s  打印出使用信号进行进程间通信的信息

ipcs -t   输出信息的详细变化时间

ipcs -p  输出ipc方式的进程ID

ipcs -c  输出ipc方式的创建者/拥有者

ipcs -u  输出当前系统下ipc各种方式的状态信息(共享内存,消息队列,信号)

ipcrm用法

-m SharedMemory id 删除共享内存标识 SharedMemoryID。与 SharedMemoryID 有关联的共享内存段以及数据结构都会在最后一次拆离操作后删除。

-M SharedMemoryKey 删除用关键字 SharedMemoryKey 创建的共享内存标识。与其相关的共享内存段和数据结构段都将在最后一次拆离操作后删除。

-q MessageID 删除消息队列标识 MessageID 和与其相关的消息队列和数据结构。

-Q MessageKey 删除由关键字 MessageKey 创建的消息队列标识和与其相关的消息队列和数据结构。

-s SemaphoreID 删除信号量标识 SemaphoreID 和与其相关的信号量集及数据结构。

-S SemaphoreKey 删除由关键字 SemaphoreKey 创建的信号标识和与其相关的信号量集和数据结构。

ipcrm -m 18602

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值