REDHAT AS4内核调优之kernel.sem的设置(原创)
semaphore概述
信号量
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,它负责协调各个线程,以保证它们能够正确、合理的使用公共资源。
Semaphore分为单值和多值两种,前者只能被一个线程获得,后者可以被若干个线程获得。
以一个停车场是运作为例。为了简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆不受阻碍的进入,然后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开停车场,看门人得知后,打开车拦,放入一辆,如果又离开两辆,则又可以放入两辆,如此往复。
在这个停车场系统中,车位是公共资源,每辆车好比一个线程,看门人起的就是信号量的作用。
更进一步,信号量的特性如下:信号量是一个非负整数(车位数),所有通过它的线程(车辆)都会将该整数减一(通过它当然是为了使用资源),当该整数值为零时,所有试图通过它的线程都将处于等待状态。在信号量上我们定义两种操作:Wait(等待)和Release(释放)。当一个线程调用Wait(等待)操作时,它要么通过然后将信号量减一,要么一直等下去,直到信号量大于一或超时。Release(释放)实际上是在信号量上执行加操作,对应于车辆离开停车场,该操作之所以叫做“释放”是因为加操作实际上是释放了由信号量守护的资源。
在安装oracle 之前通常需要设置kernel.sem这个参数,下面对些作简单介绍kernel.sem相关配置
查看kernel.sem大小
sem其实是semaphores的缩写,查看当前设置#cat /proc/sys/kernel/sem
250 32000 100 128
或者
#sysctl -a|grep kernel.sem
error:permissiondeniedonkey'kernel.cad_pid'
kernel.sem = 250 32000 32 128或者
# ipcs -ls
------SemaphoreLimits--------
maxnumberofarrays=128
maxsemaphoresperarray=250
maxsemaphoressystemwide=32000
maxopspersemopcall=32
semaphore max value = 32767参数含义
上面的4个数据分别对应:SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数,具体含义和配置如下。
SEMMSL :用于控制每个信号集的最大信号数量。
Oracle建议将SEMMSL设置为init.ora文件(用于Linux系统中的所有数据库)中的最大PROCESS实例参数的设置值再加上10。此外,Oracle建议将SEMMSL的值设置为不少于100。
SEMMNS:用于控制整个Linux系统中信号(而不是信号集)的最大数。
Oracle建议将SEMMNS设置为:系统中每个数据库的PROCESSES实例参数设置值的总和,加上最大PROCESSES值的两倍,最后根据系统中Oracle数据库的数量,每个加10。
使用以下计算式来确定在 Linux 系统中可以分配的信号的最大数量。它将是以下两者中较小的一个值:SEMMNS 或 (SEMMSL * SEMMNI)SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量。semop 系统调用(函数)提供了利用一个 semop 系统调用完成多项信号操作的功能。一个信号集能够拥有每个信号集中最大数量的SEMMSL 信号,因此建议设置 SEMOPM 等于SEMMSL 。
Oracle建议将SEMOPM的值设置为不少于100。
SEMMNI:内核参数用于控制整个Linux系统中信号集的最大数量。Oracle建议将SEMMNI的值设置为不少于100。
更改当前SEMAPHORES参数设置
[oracle@ebsseoracle]$su
Password:
[root@ebsseoracle]#echo"50106412805010128">/proc/sys/kernel/sem
[root@ebsseoracle]#cat/proc/sys/kernel/sem
50106412805010128
如需启动时自动应用,可在/etc/sysctl.conf增加:
kernel.sem =5010 641280 5010 128参考至:http://baike.baidu.com/view/1499210.htm
http://blog.sina.com.cn/s/blog_60359c5b0100is94.html
http://www.bitscn.com/os/linux/200611/81127_7.html
本文原创,转载请注明出处、作者
如有错误,欢迎指正