oracle 内核参数设置

共享内存的相关内核参数设置

Kernel.shmmax

shmmax 指的是单个共享内存段的最大尺寸,单位为字节

oracle 建议,kernel.shmmax的值不能少于物理内存的一半,而且要大于Oracle中sga-max-size的值,否则会造成oracle性能下降

一般32bit操作系统,直接设置为系统支持的最大内存即可,64bit操作系统设置大于sga-max-size的值即可

如:当前内存为2G 则kernel.shmmax = 2*1024*1024=2097152

    当前内存为8G则 kernel.shmmax = 7*1024*1024=7340032

 

Kernel.shmall

Shmall指系统一次可以使用的共享内存段的最大数量,以页为单位

Oracle默认设置为 kernel.shmall = 2097152 即最大8G(2097152*4/1024/1024),(在调整SGA时需要注意,SGA大小设置不可超过该值),根据系统内存大小和使用的不同可以参考如下:设置的一般规律

kernel.shmall = 8G/4k=8388608k/4k=2097152    ---内存8G

kernel.shmall = 16G/4k=16777216k/4k=4194304    ---内存16G

kernel.shmall = 32G/4k=33554432k/4k=8388608    ---内存32G

(RedHat linux系统中页大小为4096即4K,实际环境以getconf PAGE_SIZE结果为准)

 

kernel.shmmni

shmmni 指系统共享内存段的最大数量

oracle设置默认值为4096,一般是足够用了,不需要调整

 

 

文件句柄数的相关内核参数设置

 

fs.file-max

fs.file-max指系统能够打开最大的文件句柄数

oracle建议设置为65536,一般不用修改

 

 

信号的相关内核参数设置

 

kernel.sem

kernel.sem是指 semmsl,semmns,semopm,semmni这4个参数

semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10

semmni 指整个系统的信号集的最大数量

semmns 指整个系统的信号总数,也就是semmni*semmsl的结果

semopm 指每个semop系统调用可以执行的信号操作的最大数量

oracle默认设置

semmsl=250

semmns=3200

semopm=100

semmni=128

即kernel.sem= 250 3200 100 128

例:在oracle  ora.init文件参数中设置PROCESSES参数为5000

则semmsl=5010,semmni=128,semmns=semmsl* semmni=641280

另外semopm建议设置等于semmsl值即5010

那么kernel.sem=5010 641280 5010 128

 

 

网络相关的内核参数设置

net.core.rmem_default

net.core.rmem_default 指网络套接字的默认接收缓冲区的大小,oracle建议设置为265K即262144

net.core.rmem_max

net.core.rmem_max 指网络套接字的最大接收缓冲区的大小,oracle10g及以前版本建议设置为256k即262144  oracle11g建议设置为4M 即4194304

net.core.wmem_default

net.core.wmem_default指网络套接字的默认发送缓冲区的大小,oracle建议设置为265K即262144

net.core.wmem_max

net.core.wmem_max  指网络套接字的最大发送缓冲区的大小,oracle10g及以前版本建议设置为256k即262144  oracle11g建议设置为1M即1048576

net.ipv4.ip_local_port_range

net.ipv4.ip_local_port_range ,指本地的允许打开随机端口范围

oracle10g前建议端口范围为1024 65000,oracle11g建议端口范围为:

9000 65500 并忽略oracle安装程序任何关于这个参数的警告

 

Asynchronous I/O相关的内核参数设置

fs.aio-max-nr

fs.aio-max-nr 指系统允许的最大的异步IO请求大小

oracle默认设置为1M即1048576,一般不用更改

 

 

 

 

Oracle用户的限制参数设置(/etc/security/limits.conf)

oracle           soft    nofile          4096

oracle           hard    nofile          63536

这两行设置用来设置限制oracle用户能打开的文件句柄数,soft限制是指oracle用户登录后默认能够打开的文件句柄数的最大数。hard 限制是指当用户收到打开文件限制的错误时,可以使用ulimit –n设置的最大数。

oracle           soft       nproc          1024

oracle           hard      nproc           65536

这两行设置用来限制oracle用户能打开的进程总数,soft限制是指oracle用户登录后默认能够打开的进程的最大数。hard 限制是指当用户收到达到最大进程限制的错误时,可以使用ulimit –u设置的最大数。

 

 

参考资料:

 

http://docs.oracle.com/cd/E11882_01/install.112/e24328/toc.htm#BHCJCBAF

 

http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Oracle_Tuning_Guide/RHELTuningandOptimizationforOracleV11.pdf

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值