Oracle sysctl.conf 配置文件详解

sysctl.conf配置详解

接上一篇oracle 12 c静默安装 其中的 sysctl.conf配置详解

sysctl.conf配置

[root\@POC-ORACLE \~]\# vi /etc/sysctl.conf

fs.file-max = 6815744

fs.aio-max-nr = 1048576  

kernel.sem = 250 32000 100 128  

kernel.shmmni = 4096  

kernel.shmall = 1073741824  

kernel.shmmax = 4398046511104  

kernel.panic_on_oops = 1  

net.core.rmem_default = 262144  

net.core.rmem_max = 4194304  

net.core.wmem_default = 262144  

net.core.wmem_max = 1048576 

 

net.ipv4.conf.all.rp_filter = 2  

net.ipv4.conf.default.rp_filter = 2    

net.ipv4.ip_local_port_range = 9000 65500

配置详解

fs相关

#file-max:这个参数表示进程可以同时打开的最大句柄数,这个参数直接限制最大并发连接数。

fs.file-max = 6815744

#此参数限制并发未完成的异步请求数目,应该设置避免I/O子系统故障。

fs.aio-max-nr = 1048576

kernel相关

#注意:(第一列)*(第四列)=(第二列)

kernel.sem = 250 32000 100 128

#第一列SEMMSL,表示每个信号集中的最大信号量数目。

–SEMMSL: 每个信号集的最大信号数量

数据库最大 PROCESS 实例参数的设置值再加上 10 。

Oracle 建议将 SEMMSL 的值设置为不少于 100 。

扫描二维码关注公众号,回复: 11238714 查看本文章

#第二列SEMMNS,表示系统范围内的最大信号量总数目。

**–SEMMNS:**用于控制整个 Linux 系统中信号(而不是信号集)的最大数。

Oracle 建议将 SEMMNS 设置为:系统中每个数据库的 PROCESSES
实例参数设置值的总和,加上最大 PROCESSES 值的两倍,最后根据系统中 Oracle
数据库的数量,每个加 10 。

使用以下计算式来确定在 Linux
系统中可以分配的信号的最大数量。它将是以下两者中较小的一个值:SEMMNS 或 (SEMMSL
* SEMMNI)

#第三列SEMOPM,表示每个信号发生时的最大系统操作数目。

–SEMOPM: 内核参数用于控制每个 semop
系统调用可以执行的信号操作的数量。semop 系统调用(函数)提供了利用一个 semop
系统调用完成多项信号操作的功能。一个信号集能够拥有每个信号集中最大数量的SEMMSL
信号,因此建议设置 SEMOPM 等于SEMMSL 。

Oracle 建议将 SEMOPM 的值设置为不少于 100 。

#第四列SEMMNI,表示系统范围内的最大信号集总数目。

**–SEMMNI :**内核参数用于控制整个 Linux 系统中信号集的最大数量。

Oracle 建议将 SEMMNI 的值设置为不少于 100 。

#kernel.shmmni 共享内存段的最大数量

kernel.shmmni = 4096

----

注意该参数不是shmmin,是shmmni,shmmin 表示内存段最小大小

shmmni缺省值4096 足够。

shmmax(bytes) = shmmni(page size, default 4k) * shmall (page的个数)

#kernel.shmmax最大共享内存2GB。单个共享内存段的最大值

kernel.shmmax = 4398046511104

----

shmmax是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax设置应足够大,能在一个共享内存段下容纳下整个的SGA,设置的过低可能会导致需要创建多个共享内存段,可能导致系统性能的下降

#kernel.shmall所有内存大小。共享内存页数的最大值

kernel.shmall = 1073741824

----

Linux共享内存页大小为4KB,
共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,需要共享内存页数是

16GB/4KB=16777216KB/4KB=4194304(页)

---------

一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512
* 1024 * 1024 = 536870912;以此类推。

----------

#遇到 kernel panic自动重启

kernel.panic_on_oops = 1

net相关

#接收套接字缓冲区大小的默认值(以字节为单位)。

net.core.rmem_default = 262144

#接收套接字缓冲区大小的最大值(以字节为单位)。

net.core.rmem_max = 4194304

#发送套接字缓冲区大小的默认值(以字节为单位)。

**net.core.wmem_default = 262144 **

#发送套接字缓冲区大小的最大值(以字节为单位)。

**net.core.wmem_max = 1048576 **

#用来限制监听(LISTEN)队列最大数据包的数量,超过这个数量就会导致链接超时或者触发重传机制。

rp_filter Integer

0 - No source validation.

无源验证。

1 - Strict mode as defined in RFC3704 Strict Reverse Path

       Each incoming packet is tested against the FIB and if theinterface

       is not the best reverse path the packet check will fail.

       By default failed packets are discarded.

严格的模式,在rfc3704严格的反向路径定义

每个传入的数据包的测试是针对FIB如果界面

是不是最好的反向路径的数据包检查会失败。

默认情况下,没有数据包被丢弃。

2 - Loose mode as defined in RFC3704 Loose Reverse Path

       Each incoming packet's source address is also tested against the FIB

       and if the source address is not reachable via any interface

       the packet check will fail.

松散的模式在rfc3704松散的逆向路径定义

每个传入的数据包的源地址也测试对FIB

如果源地址不通过任何接口可达

数据包检查将失败。

#过滤模式

**net.ipv4.conf.all.rp_filter = 2 **

net.ipv4.conf.default.rp_filter = 2

#ip_local_port_range 内核端口范围

et.ipv4.ip_local_port_range = 9000 65500

猜你喜欢

转载自blog.csdn.net/qq_21271511/article/details/106182276
今日推荐