Linux中与Oracle相关的参数

xiaohouye 2012-12-15

在安装Oracle 11g中,下面的参数值要在linux中指定,挑选其中的三个来说明一下。其余的由于暂时遇不到,所以先不写了。
# vim /etc/sysctl.conf 

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576


# sysctl -p


解释一下shmall & shmmax & shmmni
先来挨个说明一下:
shmmax定义的是单个共享内存段的最大值;
shmmni定义的是系统一共可以分配的共享内存段的最大数量;
shmall定义的是一个共享内存段可以容纳多少页。(每页大小是4KB)
按照我的个人理解,来表示一下这三者之间的关系。linux把共享内存分成一个个的segment,最多可以多少个呢?由shmmax决定;那么linux可以把共享内存分成多少个segment呢?由shmmni决定;最后这一个个的segment又是怎么构成的呢?由shmall决定。你可以把组成segment的每一page对应的想象成oracle中segment与extent的关系。

相关推荐