总结Oracle系统内核参数优化设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结Oracle系统内核参数优化设置相关的知识,希望对你有一定的参考价值。

Oracle系统内核参数设置优化 :

Oracle内核参数配置文件在 /etc/sysctl.conf路径下:

vi /etc/sysctl.conf

# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

#ORACLE SETTING

kernel.shmmax = 64424509440
kernel.shmmni = 4096
kernel.shmall = 15728640
kernel.sem = 5010 641280 5010 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.aio-max-nr = 1048576
fs.file-max = 6815744


1、kernel.shmall: 共享内存页数的最大值
Linux共享内存页大小为4KB, 共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大可以设置16G,对应需要共享内存页数为16GB/4KB=16777216KB/4KB=4194304(页) 参数数值根据系统内存大小对应设置优化。

2、kernel.shmmax:单个共享内存段的最大值
shmmax是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax设置应足够大,设置过低可能会导致需要创建多个共享内存段,导致系统性能下降 ,一般情况下可以设置最大共享内存为物理内存的一半,如物理内存是 1G,则可以设置最大共享内存为 512 1024 1024 = 536870912;以此类推,在redhat上最大共享内存不建议超过410241024*1024-1=4294967295。

3、kernel.shmmni:共享内存段的最小数量
shmmni缺省值4096 足够

4、kernel.sem:对应4个值
SEMMSL、SEMMNS、SEMOPM、SEMMNI

(1)SEMMSL: 每个信号集的最大信号数量
当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEMAPHORES设置SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。 Oracle 建议将 SEMMSL 的值设置为不少于 100 。
查看oracle 的最大连接数命令:select * from v$license;

(2)SEMMNS:用于控制整个 Linux 系统中信号(而不是信号集)的最大数。
Oracle 建议将 SEMMNS 设置为:系统中每个数据库的 PROCESSES 实例参数设置值的总和,加上最大 PROCESSES 值的两倍,最后根据系统中 Oracle 数据库的数量,每个加 10 。
SEMMNS参数应设置为SEMMSLSEMMNI,接上例SEMMSL为5010,SEMMNS参数应为(5010128)=641280

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

(4)SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量。
Oracle 建议将 SEMMNI 的值设置为不少于 100 。

配置完这些之后使用 sysctl -p 重新加载生效!!

以上是关于总结Oracle系统内核参数优化设置的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统TCP内核参数优化总结

Oracle中的sysctl.conf内核参数

Tomcat调优总结(Tomcat自身优化Linux内核优化JVM优化)

Linux 环境 Oracle 11g RAC 安装指南 | 资料

linux和aix内核参数检查

LINUX PID 1和SYSTEMD PID 0 是内核的一部分,主要用于内进换页,内核初始化的最后一步就是启动 init 进程。这个进程是系统的第一个进程,PID 为 1,又叫超级进程(代码片段