怎么理解Oracle中的sysctl.conf内核参数

88次阅读
没有评论

共计 1899 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容介绍了“怎么理解 Oracle 中的 sysctl.conf 内核参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

注:OS 的内核参数大多数存放在 /proc/sys 目录下,可以在系统运行时进行更改,但是当系统重新启动时会失效,而通过 /etc/sysctl.conf 文件可以永久生效修改后的内核参数。

sysctl -p

该命令可以立即生效 sysctl.conf 中配置的内核参数。

如下为安装部署 Oracle 时需要配置的内核参数:

cat /etc/sysctl.conf

kernel.shmall

shmall 表示共享内存总量,以页为单位,而 shmall 默认为 4294967296  已经足够大了,一般不需要调整,shmall 不能低于 SGA 大小,若 shmall 低于 SGA 大小,实例启动时会报:ORA-27123: unable to attach to shared memory segment 错误,且无法启动实例。 

kernel.shmmax

shmmax 参数用来定义单个共享内存段的最大值,该值应该配置足够大,能够在一个共享内存段中容下整个的 SGA ,如果配置过低可能导致需要创建多个共享内存段,这样可能会导致系统性能下降。

269838450688/1024/1024/1024=252GB。

shmmax 的单位为 Byte(字节)。

vm.min_free_kbytes

该参数表示 Linux VM 最低保留多少的空闲内存空间,当可用的内存低于配置参数时,系统会进行 cache 内存的回收,来进行内存的释放。

单位是 kb,524288/1024=512M。

kernel.sem

sem 是 semaphores 的缩写,进程间通信 – 信号量,kernel.sem 中 4 个参数分别对应 SEMMSL SEMMNS SEMOPM SEMMNI

SEMMSL:  每个信号集的最大信号数量,一般该参数配置为数据库中最大  PROCESS  参数的设置值加上  10,Oracle  建议  SEMMSL  不低于 100。

SEMMNS:控制整个系统中信号量的最大数量,使用以下计算公式来确定系统中需要配置的信号的最大数量,(SEMMSL * SEMMNI)=SEMMNS。4096*128=524288。

SEMOPM:  该参数表示在一个  semop call 中,每个信号量所允许的最大操作数量,一个信号集可以拥有每个信号集当中的最大数量 SEMMSL  信号,建议  SEMOPM  等于 SEMMSL 。 Oracle  建议 SEMOPM 的值不低于  100 。

SEMMNI:该参数用于控制整个系统中信号集的最大数量。Oracle  建议 SEMMNI  的值不低于  100 。

fs.file-max

该参数表示系统级别最大可以打开文件句柄的数量,文件句柄代表系统中可以打开文件的数量。

net.ipv4.ip_local_port_range

该参数配置向外连接端口范围,缺省为 1024 到 4999。

net.ipv4.ipfrag_*

net.ipv4.ipfrag_low_thresh

net.ipv4.ipfrag_high_thresh

系统中当数据包传输发生错误,会进行碎片整理,有效的数据包被保留,而无效的数据包被丢弃,ipfrag 参数指定了碎片整理时的最大 / 最小内存。

net.core.rmem_*

net.core.rmem_default 默认数据接收窗口大小。

net.core.rmem_max 最大数据接收窗口大小。

net.core.wmem_default 默认数据发送窗口大小。

net.core.wmem_max 最大数据发送窗口大小。

单位均为字节。

fs.aio-max-nr

该参数表示最大并发异步 I / O 请求数量,当系统中存在非常高的 I / O 请求时,如果该参数配置过低,可能导致数据库报 ORA-27090 – Unable to Reserve Kernel Resources for Asynchronous Disk I/ O 错误,遇到该问题需将 fs.aio-max-nr 调整为 Oracle 建议值 3145728。

注:Doc ID 579108.1

kernel.shmmni

该参数为共享内存段的最大数量,缺省值为 4096,一般情况下无需调整。

vm.nr_hugepages

该参数指定采用大页内存,大页内存数量,单位为个数。

“怎么理解 Oracle 中的 sysctl.conf 内核参数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计1899字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)