linux oracle semopm,Linux 内核参数设置于详解 --Oracle 安装

1.

Linux核心参数

#vi /etc/sysctl.conf

--------------------------------

cat >>/etc/sysctl.conf <

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

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

EOF

--------------------------------

# /sbin/sysctl -p

使修改的参数生效。

2.

kernel.shmmax

含义:共享内存段最大值(以字节为单位)。

设置:kernel.shmmax>=sag_max_size不小于物理内存的一半,应该足够大。

查看:cat /proc/sys/kernel/shmmax

ipcs –lm

引用:

shmmax设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。

SHMMAX仅仅是在共享内存段被创建的时候用来比较的一个数字,当共享内存段被一个进程(Process)创建,操作系统检查是否被要求的共享内存段的值大于shmmax的值,如果是,那么将会抛出一个错误。这个时候系统会创建另外的一个或多个共享内存段满足进程的需求。一般来说,共享内存段个数和系统性能没有太直接的关系,也不会对性能产生太大的影响。

Steve Adams在他的小册子中说过,在实例启动以及Server Process创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响,但是其他时候都不会有影响。这意味着如果你的程序不是经常CreateProcesses(以及Destroy Them),性能方面就不是考虑的问题。

Oracle安装文档建议32BitLinux系统设置shmmax为32Bit最大的限制值(setting shmmax to the 32-bit number limit),也就是4G。

所以一般来说,1-4G的物理内存,可以直接设置shmmax为最大物理内存即可,那么SGA肯定在一个共享内存段中,32Bit Linux系统物理内存大于4G的设置为4G即可 。

总之,一般设置shmmax >=SGA(32Bit系统是否支持到1.7G以上SGA需要注意),缺省为32M,

如果是64Bit的Linux操作系统,shmmax设置为大于SGA_MAX_SIZE即可。

3.

kernel.shmall

含义:控制共享内存页数(以页为单位)。

设置:kernel.shmall > = kernel.shmmax / page_sizeORACLE DOC默认值:2097152*4096=8GB

控制共享内存页数(shmall) =最大共享内存段的大小(shmmax) /共享内存页的大小(4KB)

查看:cat /proc/sys/kernel/shmall

Linux共享内存页大小为4KB。共享内存段的大小都是共享内存页大小的整数倍。

一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB = 16777216KB / 4KB = 4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)。

其值应不小于shmmax/page_size.缺省值就是2097152,如果服务器上运行的所有实例的SGA总和不超过8GB(通常系统可分配的共享内存的和最大值为8GB),通常不需要修改。

4.

kernel.shmmni

含义:设置系统范围内共享内存段的最大数量。PS:注意这个参数不是shmmin是shmmni; shmmin表示内存段最小大小。

设置:shmmni缺省值4096

查看:cat /proc/sys/kernel/shmmni

5.

fs.file-max

含义:一个进程可以打开的文件句柄的最大数量。

设置:fs.file-max=65536

查看:cat /etc/sysctl.conf |grep 'fs.file-max'

6.

net.ipv4.ip_local_port_range

含义:专用服务器模式下与用户进程通信时分配给用户的端口区间。

设置:net.ipv4.ip_local_port_range = 1024 65000

查看:cat /etc/sysctl.conf |grep 'net.ipv4.ip_local'

7.

net.core.rmem_default

含义:默认接收缓冲区大小。

设置:net.core.rmem_default=262144

查看:cat /etc/sysctl.conf

8.

net.core.rmem_max

含义:接收缓冲区最大值。

设置:net.core.rmem_max=262144

查看:cat /etc/sysctl.conf

9.

net.core.wmem_default

含义:默认的发送缓冲区大小。

设置:net.core.wmem_default=262144

查看:cat /etc/sysctl.conf

10.

net.core.wmem_max

含义:发送缓冲区最大值。

查看:net.core.wmem_max=262144

设置:cat /etc/sysctl.conf

11.

kernel.sem信号量

含义:

查看:cat /proc/sys/kernel/sem      ipcs -ls

1>.semmsl

含义:每个信号量set中信号量最大个数

设置:最小250;对于processes参数设置较大的系统建议设置为processes+10

2>.semmns

含义:linux系统中信号量最大个数

设置:至少32000;SEMMSL * SEMMNI

3>.semopm

含义:semop系统调用允许的信号量最大个数

设置:至少100;或者等于SEMMSL

4>.semmni

含义:linux系统信号量set最大个数

设置:最少128

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值