本篇内容介绍了“怎么理解Oracle中的sysctl.conf内核参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联公司拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的做网站、成都做网站、网站维护、四川绵阳服务器托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城网站开发、政府网站等各类型客户群体,为全球上1000+企业提供全方位网站维护、服务器维护解决方案。
注: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内核参数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!