安装Oracle时在Linux上设置内核参数

    xiaoxiao2022-06-30  70

    SHMMAX参数:Linux进程可以分配置的单独共享内存段的最大值。

     

    # grep MemTotal /proc/meminfo # cat /proc/sys/kernel/shmmax

    上面的命令是检查系统内存的大小,以及当shmmax的设置。

     

     

    # echo 21474836480 > /proc/sys/kernetbl/shmmax # sysctl -w kernel.shmmax=21474836480 # echo "kernel.shmmax=21474836480" >> /etc/sysctl.conf

    这是设置shmmax参数的几种方法,这三种方式都可以将shmmax设置为20G。前两种方式类似alter system set scope=memory, 而第三种方式则类似于alter system set scope=spfile,这个参数的设置可以不重启数据库,但是为了确保下次重启后设置值仍然生效,第三种方式是必不可少的,采用第三种方式需要执行sysctl -t或重启。

     

     

    SHMMNI参数:设置系统最大共享内存数量。

    Oracle10g推荐最小值为4096。

     

    # cat /proc/sys/kernel/shmmni # echo 4096 > /proc/sys/kernel/shmmni # sysctl -w kernel.shmmni=4096 # echo "kernel.shmmni=4096" >> /etc/sysctl.conf

    SHMALL参数:设置共享内存总页数。推荐值为物理内存大小除以分页大小。

     

     

    信号灯semaphore是进程或线程间访问共享内存时提供同步的计数器。

    SEMMSL参数:设置每个信号灯组中信号灯最大数量,推荐的最小值是250.对于系统中存在大量并发连接的系统,推荐将这个值设置为processes初始化参数加10。

    SEMMNI参数:设置系统中信号灯的最大数量。推荐值为142.

    SEMMNS参数:设置系统中信号灯的最大数量,操作系统在分配信号灯时不会超过Least(SEMMNS, SEMMNI*SEMMSL),事实上,如果SEMMNS的值超过SEMMSL*SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL*SEMMNI.

    SEMOPM参数:设置每次系统调用可以同时执行的最大信号灯的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此推荐将SEMOPM设置为SEMMSL的值。

     

    # echo 610 86620 100 142 > /proc/sys/kernel/sem # sysctl -w kernel.sem="610 86620 100 142" # echo "kernel.sem=610 86620 100 142" >> /etc/sysctl.conf

    对应的4个值从左到右分别为SEMMSL SEMMNS SEMOPM SEMMNI

     

    最后欢迎大家访问我的个人网站:1024s

     

    转载请注明原文地址: https://ju.6miu.com/read-1126018.html

    最新回复(0)