linux 下的信号量参数

本文介绍了Linux系统中信号量参数的重要性和配置方法,特别是针对Oracle数据库的需求进行了详细说明。文章解释了信号量机制的基本概念及其对数据库的影响,并提供了具体的参数调整步骤。

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

linux 下的信号量参数
信号量是一种锁机制用于协调进程之间互斥的访问临界资源。以确保某种共享资源不被多个进程同时
访问。数据库使用信号量来管理对操作系统资源的访问(比如内存共享段)。如果所有数据库进程所
需的信号量不足,会导致数据库不能启动或者运行时出错。这时候DBA 需要查看内核的信号量参数,
并重新进行设置。
[root@zeng ~]# cat /proc/sys/kernel/sem
250     32000   100     200
上面输出的4个值分别对应内核信号量参数:
semmsl  250    每个信号量集中的最大信号量数。
semmns  32000  整个系统中的最大信号量数。
semopm  100    每一个semop系统调用操作的最大信号量数。
semmni  200    信号量集最大数。
其中:semmns=semmsl*semmni
oracle 11gR2 在 oracle linux 6.0 安装对内核信号量参数的要求:
semmsl  250    
semmns  32000  
semopm  100   
semmni  200  
注:参照的是Oracle Linux 5 Update 2 的安装要求。因为oracle 11gR2 没有针对oracle linux 6.0
的安装文档。
修改信号量参数的值前请先查看信号量参数的值。
[root@zeng ~]# cat /proc/sys/kernel/sem
250     32000   100     200
可以使用echo、cat、sysctl -w、编辑/etc/sysctl.conf 的方式来改变内核信号量参数。写进
/etc/sysctl.conf 的内核参数应该执行sysctl -p 把刚才的修改实例化为当前的内核参数。
写进/etc/sysctl.conf 的内核参数下次重启以后依然有效。
[root@zeng ~]#  echo "kernel.sem =250 32000 100 128" >> /etc/sysctl.conf
[root@zeng ~]# sysctl -p
确认修改以后的当前信号量值
[root@zeng ~]# cat /proc/sys/kernel/sem
250     32000   100     128

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-718306/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26110315/viewspace-718306/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值