zoukankan      html  css  js  c++  java
  • linux kernel.shmall shemax shemin 參數解釋

     

    分类: oracle linux 6193人阅读 评论(0) 收藏 举报

    Linux X86-64操作系统,Oracle 10g数据库,由8G加到16G,把kernel.shmmax参数改到17179869184(16G)后,发现只要修改sga_max_size和 sga_target参数到超过8G,Oracle就会报内存不够无法启动,检查另外两个共享内存参数相关参数:kernel.shmall和 kernel.shmmni,kernel.shmall参数是控制共享内存页数,kernel.shmmni参数是控制共享内存段总数,目前的参数值是 4096,足够大了,那么问题应该是出在kernel.shmall上,用8589934592(8G)除以当前的参数值2097152,结果是 4096,说明页大小是4K,现在要把SGA调到大于8G,就要调大kernel.shmall参数,调整到当前值的2倍(4194304)后,就可以成 功地将sga设置到13G了。

    对于32位系统,一页=4k,也就是4096字节。


    kernel.shmall = 2097152  就是 2097152*4k/1024/1024 = 8G 就是说可用共享内存一共 8G

    上面shmmax = 2G

    512 32000 100 100 >/proc/sys/kernel/sem 分别是指什么

    SEMMSL(每个用户拥有信号量最大数量),SEMMNS(系统信号量最大数量),SEMOPM(每次semop系统调用操作数),SEMMNI(系统信号量集最大数量)

    REDHAT AS4 kernel.sem设置参考


    在安装oracle 之前通常需要设置kernel.sem这个参数,下面对些作简单介绍
    sem其实是semaphores的缩写,查看当前设置
    [oracle@ebsse oracle]$ cat /proc/sys/kernel/sem
    250 32000 100 128
    4个数据分别对应
    SEMMSL SEMMNS SEMOPM SEMMNI
    如当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEMAPHORES设置
    SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。
    SEMMNS参数应设置为SEMMSL*SEMMNI,接上例SEMMSL为5010,SEMMNS参数应为(5010*128)=641280。
    SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为5010
    更改当前SEMAPHORES参数设置:
    [oracle@ebsse oracle]$ su
    Password:
    [root@ebsse oracle]# echo "5010 641280 5010 128" > /proc/sys/kernel/sem
    [root@ebsse oracle]# cat /proc/sys/kernel/sem
    5010 641280 5010 128
    如需启动时自动应用,可在/etc/sysctl.conf增加:
    kernel.sem =5010 641280 5010 128

  • 相关阅读:
    json 拼二维json数组
    lnmp 环境搭建
    lnmp git ruby sass 安装
    制定clone的用户名
    git branch 重命名
    sql命令创建数据库
    layerui
    弹出确认框,打开新窗口
    Ajax请求小结
    .net core注入服务
  • 原文地址:https://www.cnblogs.com/xred/p/3489811.html
Copyright © 2011-2022 走看看