当前linux使用越来越频繁,并且很多核心的业务都开始转移到linux上面。linux对于oracle的支持是比较好的,现在oracle在linux上面的一些参数调整进行说明
  1. Linux 系统下的核心参数:
  [root@ECSDB etc]# cat sysctl.conf 或者到 /proc/sys/kernel 下查看。
  kernel.shmall = 2097152
  kernel.shmmax = 8405194752          一般配置为物理内存50%,如果内存很大,可以增加,表示共享内存大值
  kernel.shmmni = 4096
  kernel.sem = 250 32000 100 128
  建议设置:250 32000 100 128
  第一列,表示每个信号集中的大信号量数目。
  第二列,表示系统范围内的大信号量总数目。
  第三列,表示每个信号发生时的大系统操作数目。
  第四列,表示系统范围内的大信号集总数目。
  所以,(第一列)*(第四列)=(第二列)
  以上设置,可以通过执行ipcs -l来验证。
fs.file-max = 65536
fs.file-max = 65536该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法。
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
vm.min_free_kbytes = 102400     --系统低保留内存
  ----- 小技巧: 修改 /etc/sysctl.conf 文件之后立刻生效命令 # sysctl -p
  2. 基于大页面技术的参数:
  vm.nr_hugepages = 143360
  vm.swappiness=10                 --第二个参数是使用内存到90的时候,开始使用交换分区
  这个可以根据计算得出,通常huge page的一个块是2m,如下:
[root@mytest1 ~]# cat /proc/meminfo | grep -i huge
AnonHugePages:    884736 kB
HugePages_Total:   143360
HugePages_Free:    93966
HugePages_Rsvd:     5217
HugePages_Surp:        0
Hugepagesize:       2048 kB
  这说明,在linux系统上所有的sga加起来,不能大于143360*2048KB
  同时,需要在/etc/security/limits.conf
  oracle   soft   memlock    293601280
  oracle   hard   memlock    293601280
  这两个设置,表示oracle大的锁定内存,如果不设,后台会报错,单位为KB