ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux 下的信号量参数

linux 下的信号量参数

原创 Linux操作系统 作者:pingley 时间:2012-03-12 09:07:58 0 删除 编辑
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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    169
  • 访问量
    741115