签到成功

知道了

CNDBA社区CNDBA社区

Linux 安装Oracle的kernel.shmmax和kernel.shmall 参数配置值

2020-12-28 20:19 258 0 原创 Oracle 19c
作者: Dave

在之前的博客我们将Linux 平台Oracle 安装时需要修改/etc/sysctl.conf 文件中的几个参数,如下:

https://www.cndba.cn/dave/article/4341

64位 Linux Oracle 11gR2 单实例 安装手册
http://www.cndba.cn/dave/article/211

https://www.cndba.cn/dave/article/4341

其中最主要的2个参数是kernel.shmmax 和 kernel.shmall。https://www.cndba.cn/dave/article/4341

1. kernel.shmmax

用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的 SGA , 设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及 ServerProcess 创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低 ( 在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响 ) ,但是其他时候都不会有影响。https://www.cndba.cn/dave/article/4341https://www.cndba.cn/dave/article/4341

官方建议值:物理内存值 -1 byte ,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存 -1 byte 。

https://www.cndba.cn/dave/article/4341
https://www.cndba.cn/dave/article/4341

内存为 12G 时,该值为 12*1024*1024*1024-1 = 12884901887
内存为 16G 时,该值为 16*1024*1024*1024-1 = 17179869183
内存为 32G 时,该值为 32*1024*1024*1024-1 = 34359738367
内存为 64G 时,该值为 64*1024*1024*1024-1 = 68719476735
内存为 128G 时,该值为 128*1024*1024*1024-1 = 137438953471
内存为 192G 时,该值为 192*1024*1024*1024-1 = 206158430207
内存为 256G 时,该值为 256*1024*1024*1024-1 = 274877906943
内存为 512G 时,该值为 512*1024*1024*1024-1 = 549755813887

2. kernel.shmall :

该参数控制可以使用的共享内存的总页数。 Linux 共享内存页大小为 4KB, 共享内存段的大小都是共享内存页大小的整数倍。

[dave@www.cndba.cn ~]# getconf PAGE_SIZE
4096
[dave@www.cndba.cn ~]# 


当内存为 12G 时, kernel.shmall =12G/4kb= 3145728
当内存为 16G 时, kernel.shmall = 16G /4kb= 4194304
当内次为 32G 时, kernel.shmall = 32G /4kb= 8388608
当内存为 64G 时, kernel.shmall = 64G /4kb= 16777216
当内存为 128G 时, kernel.shmall = 128G /4kb= 33554432
当内存为 192G 时,kernel.shmall = 192G /4kb= 50331648
当内存为 256G 时,kernel.shmall = 256G /4kb= 67108864
当内存为 512G 时,kernel.shmall = 512G /4kb= 134217728

这里之所以把这2个参数单独拿出来进行说明,也是因为在服务器进行内容扩容后需要根据实际内存大小修改这2个值,而这也是经常忽略的问题,所以这里单独整理出来。https://www.cndba.cn/dave/article/4341https://www.cndba.cn/dave/article/4341https://www.cndba.cn/dave/article/4341

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1814
    原创
  • 2
    翻译
  • 411
    转载
  • 119
    评论
  • 访问:3055763次
  • 积分:2829
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群