Oracle的kernel.shmmax和kernel.shmall设置

Oracle的kernel.shmmax和kernel.shmall设置Oracle的kernel.shmmax和kernel.shmall设置 不会推车的娘们 2019-12-04 12:02:30 1135 收藏 3 分类专栏: linux ORACLE 文章标签:…

Oracle的kernel.shmmax和kernel.shmall设置

Oracle的kernel.shmmax和kernel.shmall设置
不会推车的娘们 2019-12-04 12:02:30 1135 收藏 3
分类专栏: linux ORACLE 文章标签: sysctl 系统内核 oracle操作
版权

1.  kernel.shmmax :

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

官方建议值:

32 位 linux 系统:可取最大值为 4GB ( 4294967296bytes ) -1byte ,即 4294967295 。建议值为多于内存的一半,所以如果是 32 为系统,一般可取值为 4294967295 。 32 位系统对 SGA 大小有限制,所以 SGA 肯定可以包含在单个共享内存段中。

64 位 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存 -1byte 。  

内存为 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

2.  kernel.shmall :

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

一个共享内存段的最大大小是 16G ,那么需要共享内存页数是 16GB/4KB==4194304 (页),

当内存为 12G 时, kernel.shmall = 3145728

当内存为 16G 时, kernel.shmall = 4194304

当内次为 32G 时, kernel.shmall = 8388608

当内存为 64G 时, kernel.shmall = 16777216

当内存为 128G 时, kernel.shmall = 33554432

配置内核变量

/etc/sysctl.conf

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    # shmall、shmmax参数要根据实际内存数进行调整,不然安装会有问题,静态安装很容易忽略
    # 图形化安装在检测是将会提示
    # 官网建议:
    kernel.shmall = 2468829
    # 官网建议:以字节为单位的物理内存(RAM)大小的一半
    kernel.shmmax = 12640407552
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048586

生效

$ /sbin/sysctl -p
————————————————
版权声明:本文为CSDN博主「不会推车的娘们」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shmily_lsl/java/article/details/103384366

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7109.html

(0)
上一篇 2023-03-27 09:30
下一篇 2023-03-27

相关推荐

  • SQL Server 时间算差值-年限[亲测有效]

    SQL Server 时间算差值-年限[亲测有效]项目中需要计算使用年限,按月份算。刚开始踩了坑,不足1年应该按1年算。记录下~ 和当前时间比较,用DATEDIFF函数DateDiff(month,比较的时间,getdate())先算出月份,再除以1

    2023-06-15
    161
  • mysql8.0数据库恢复_恢复删除记录

    mysql8.0数据库恢复_恢复删除记录今天登录一个MySQL数据库slave节点主机发现/var/lib/mysql下存放大量的mysql-relay-bin文件,最早的文件创建日期甚至是2018年,我记得在slave库同步完maste…

    2023-03-03
    149
  • jsonpath 表达式「终于解决」

    jsonpath 表达式「终于解决」在进行对接数据时,经常会遇到对接的是接口数据。 关于在对接接口类型的数据,数据返回的为json数组形式的数据,需要讲数组先解析出来,主要是通过 jsonpath 表达式 。 jsonpath

    2023-06-16
    152
  • MySQL执行SQL脚本问题 :错误代码2006、1153「建议收藏」

    MySQL执行SQL脚本问题 :错误代码2006、1153「建议收藏」今天用mysql执行了一个60M的SQL脚本遇到了一些错误,经由网上查询如下: 1.#2006 – MySQL server has gone away 出现该错误代码原因如下: 1、应用程序长时间的

    2022-12-16
    130
  • 高效编写Python代码的秘诀

    高效编写Python代码的秘诀Python是一种易用、高效的编程语言。它被广泛应用于数据科学、Web开发、人工智能等领域。在编写Python代码时,我们希望代码既简洁又高效,能够提高我们的工作效率。本文将从多个方面介绍如何高效编写Python代码。

    2024-02-10
    103
  • 为什么我们要从 MySQL 迁移到 TiDB?「建议收藏」

    为什么我们要从 MySQL 迁移到 TiDB?「建议收藏」本文转载自公众号 51CTO技术栈。 作者介绍:贺磊,360 数据库运维资深工程师,《MongoDB 运维实战作者》,知名论坛 MySQL 版主,51CTO 博客之星,闲暇之余,喜欢将部分案例写成博…

    2023-02-10
    128
  • Python列表去重

    Python列表去重在Python编程中,我们经常需要处理数据列表。但是,有时同一个数据会被重复添加进入列表,这会影响我们对数据的处理和分析。因此,去重是很常见的需求。Python中提供了多种方法来实现列表去重,本文将为您详细介绍Python列表去重的几种方法。

    2024-06-16
    51
  • 容器化 | 构建 RadonDB MySQL 集群监控平台「建议收藏」

    容器化 | 构建 RadonDB MySQL 集群监控平台「建议收藏」上一篇文章我们演示了如何《在 S3 备份恢复 RadonDB MySQL 集群数据》,本文将演示在 KubeSphere[1] 中使用 Prometheus[2] + Grafana[3] 构建 My

    2023-05-15
    139

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注