暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sysctl.conf 参数释义

原创 逆风飞翔 2022-06-09
342

fs.aio-max-nr = 1048576-----同时可以拥有的的异步IO请求数目。

fs.file-max = 6815744 ------系统中可以同时打开的文件数目。其值相当于 6.5×1024×1024=6.5M
kernel.shmall = 943718 ------表示系统任意时刻可以分配的所有共享内存段的总和的最大值(以页为单位).其值应不小于shmmax/page_size
kernel.shmmax = 3865470566 -------该参数定义了共享内存段的最大尺寸(以字节为单位),其值应>=sag_max_size初始化参数的大小,否则SAG由多个内存段构成,效率降低。0.5物理内存< kernel.shmmax<物理内存

kernel.shmmni = 4096

---这个内核参数用于设置系统范围内共享内存段的最小数量。该参数的默认值是 4096.此值也是在系统中可以启动的Oracle实例的最大数量,通常不需要更改,因为显然在生产环境下,一个服务器上同时启动的实例个数达不到这个数量

可以这么计算:

shmmax =内存(G)*1024*1024*1024*0.9
shmall =shmmax / 4096

kernel.sem = 250 32000 100 4096
250 SEMMSL max semaphores per array:每个信号集容纳最大信号数量
32000 SEMMNS max semaphores system wide:所有信号的最大数量
100 SEMOPM max ops per semop call:调用单个信号集中最大信号数量
4096 SEMMNI max number of arrays:信号集的最大值



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

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



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



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

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


[oracle@localhost response]$ ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems
0xf7bd49f8 589824 oracle 640 154


net.ipv4.ip_local_port_range = 9000 65500

---定义了本地tcp/udp的端口范围



net.core.rmem_default = 262144

---该参数指定了接收套接字缓冲区大小的缺省值(以字节为单位)



net.core.rmem_max = 4194304

---该参数指定了接收套接字缓冲区大小的最大值(以字节为单位)

net.core.wmem_default = 262144

---该参数指定了发送套接字缓冲区大小的缺省值(以字节为单位)

net.core.wmem_max = 1048576

---该参数指定了发送套接字缓冲区大小的最大值(以字节为单位)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论