高人指点一下:
安装oracle 时,
kernel.shmall                = 2097152
kernel.shmmax                = 8401131520
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        = 1048576
net.core.rmem_max            = 1048576
net.core.wmem_default        = 262144
net.core.wmem_max            = 262144这些参数的值的计算方法?麻烦举几个例子,例如2G内存应该如何设置,4G,8G,16G都应该如何设置呢?

解决方案 »

  1.   


    kernel.shmall为物理内存除以pagesize;
    kernel.shmmax为物理内存的一半;
    fs.file-max为512 乘以 processes (如128个process则为 65536);
    net.ipv4.ip_local_port_range/net.core.rmem_default/net.core.rmem_max三个参数设置和官方文档不一样, 这是根据metalink 343431.1 最新要求更改的;
    net.ipv4.tcp_rmem/net.ipv4.tcp_wmem两个参数一般情况下无需设置, 除非是在Dataguard/Streams等需很多网络传输情况下;其它参数根据官方文档要求设置即可.# vi /etc/sysctl.conf
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 65536
    net.ipv4.ip_local_port_range = 9000 65000
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 262144修改以后让参数生效:
    # /sbin/sysctl -p
      

  2.   


    Shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,
    shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会
    导致需要创建多个共享内存段,这样可能导致系统性能的下降 。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)。kernel.shmmni ----
    shmmni 内核参数是共享内存段的最大数量(注意这个参数不是 shmmin,是
    shmmni, shmmin 表示内存段最小大小 ) 。shmmni 缺省值 4096 ,一般肯定是够用了 。
      

  3.   

    获取pagesize
    [root@rac1-21 ~]# getconf PAGESIZE
    4096
    如果你的物理内存为8G
    8G/4096=2097152 --内存8G (设置为8G的时候,SGA不能设置为8G)
    16G/4096=4194304 --内存16G (设置为16G的时候,SGA可以设置为8G)
    32G/4096=8388608 --内存32G (设置为32的时候,没有尝试)
      

  4.   

    kernel.shmall = 2097152
    kernel.shmmax = 8401131520
    主要改变这2个,其它的基本保持不变