包括三方面
1 sysctl.conf
// 大内存页
vm.nr_hugepages=自定义 计算公式 物理内存 (物理内存-4g)X0.8X0.8X1024/2M+(100-500) 大页的内存要大于SGA大小,才能被ORACLE使用
//设置swap使用的优先级 尽量不使用swap空间
vm.swappiness=10
// 扩大共享内存段 影响SGA
kernel.shmmax = 自定义 单个共享内存段的最大值(以字节为单位)推荐设置成(物理内存-4G)X0.8 并且要大于SGA
sga=(物理内存-4g)X0.8X0.8 pga=物理内存X0.8.X0.2
kernel.shmall = 自定义全部允许使用的共享内存页数量(页为单位) 计算公示 物理总内存/4K= N页
kernel.shmmni = 4096(不变) 每个oracle占用一个共享段,这是最大的共享段数量 不需要调整
// 扩大端口范围 默认的范围太小
net.ipv4.ip_local_port_range = 9000 65500
kernel.sem= 250 32000 100 128(信号量)
//扩大文件句柄数(最小值)
fs.aio-max-nr = 1048576
fs.file-max = 6815744
// 扩大 socket的读写缓冲区(最小值)
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
2 /etc/security/limits.conf 针对资源和行为的限制
Soft: 当前系统生效的设置值(soft限制不能比hard限制高)
Hard:系统中所能设置的最大值
nproc: 操作系统级别对每个用户创建的进程数的限制
nofile: 操作系统级别最大文件打开数
推荐最小的参数值
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
每个用户都要写一遍
3 总结
从文件角度 limits.conf sysctl,conf
从资源角度 文件打开数 内存共享段 和 socket 缓冲区 进程数量 端口
4 关闭透明大页
more /sys/kernel/mm/transparent_hugepage/enabled 查看透明大页是否开启 如果开启 需要关闭 因为这个可能导致RAC架构节点的异常重启
5 关闭NUMA系统