• 关于Linux下kernel.shmmax的设置问题


     按照oracle的解释,SHMMAX应该比SGA区大啊.否则会引发性能的下降!

      shmmax 指的是单个共享内存段的最大尺寸, 设置shmmax=1G,sga分配了1.2G,当启动实例的时候就分配 2 块共享内存给Oracle .

      如果物理内存是 2 G, 假设这台DB Server上还有Apache 在运行,那么shmmax 中设置的内存也会被Apache 来使用,那么分配的 2 块共享内存段给Oracle 是否就是 2 * 1G , 还是仅仅满足 SGA需求的 1.2 G就停止分配 , 其他的内存的一部分分配给Oracle PGA 和软件 Apache 来使用 ?

      想到这个问题,是因为在安装oracle时,常常需要修改内核文件/etc/sysctl.conf,需要设置这个参数.

      设置oracle共享内存段:

      以root身份进行修改 /etc/sysctl.conf 这个文件,加入以下的语句:

      kernel.shmmax = 2147483648
      kernel.shmmni = 4096
      kernel.shmall = 2097152
      kernel.sem = 250 32000 100 128
      fs.file-max = 65536
      net.ipv4.ip_local_port_range = 1024 65000

      注:

      sem  4个参数依次为SEMMSL(每个用户拥有信号量最大数);
      SEMMNS(系统信号量最大数);
      SEMOPM(每次semopm系统调用操作数);
      SEMMNI(系统辛苦量集数最大数)。
      Shmmax 最大共享内存2GB
      物理内存如果小的话可以设置成 536870912。
      Shmmni 最小共享内存 4096KB。
      Shmall 所有内存大小。

      一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。

      在redhat上最大共享内存不建议超过

      4*1024*1024*1024-1=4294967295

      设置完成后用命令 more /etc/sysctl.conf |grep kernel.s 检查。

      建议重启系统再继续下面的操作。
  • 相关阅读:
    Git(一):基础调用
    Vue(一):使用Vue创建项目并发布
    mysql用户与权限
    跨域理解及常用解决方案
    Ajax简单用法
    冒泡排序算法
    委托使用方式
    How to: Add the Analyze Action to List Views 如何:将分析按钮添加到列表视图
    How to:Customize Action Controls 如何:自定义按钮控件
    How to: Customize the New Action's Items List 如何:自定义新按钮的项目列表
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331453.html
Copyright © 2020-2023  润新知