返回顶部
首页 > 资讯 > 数据库 >Oracle 性能优化之内核的shmall 和shmmax 参数
  • 847
分享到

Oracle 性能优化之内核的shmall 和shmmax 参数

2024-04-02 19:04:59 847人浏览 独家记忆
摘要

1. 内核的 shmall 和 shmmax 参数 SHMMAX = 配置了最大的内存segment的大小 ——> 这个设置的比SGA_MAX_SIZE大比较好。 SHMMAX

1. 内核的 shmall 和 shmmax 参数

SHMMAX = 配置了最大的内存segment的大小 ——> 这个设置的比SGA_MAX_SIZE大比较好。

SHMMAX参数:linux进程可以分配的单独共享内存段的最大值。一般设置为内存总大小的一半。这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。

SHMMIN= 最小的内存segment的大小 。

SHMMNI= 整个系统的内存segment的总个数 。设置系统级最大共享内存段数量。Oracle10g推荐最小值为4096,可以适当比4096增加一些。

SHMSEG= 每个进程可以使用的内存segment的最大个数

shmall =是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。

shmall设置共享内存总页数。这个值太小有可能导致数据库启动报错。很多人调整系统内核参数的时候只关注SHMMAX参数,而忽略了SHMALL参数的设置。

2.配置信号灯( semphore )的参数

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

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

SEMMNI= 设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。

SEMMNS=设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS, SEMMSL*SEMMNI )。事实上,如果SEMMNS的值超过了SEMMSL*SEMMNI是非法的, 因此推荐SEMMNS的值就设置为SEMMSL*SEMMNI 。Oracle推荐SEMMNS的设置 不小于32000 ,假如数据库的PROCESSES参数设置为600,则SEMMNS的设置应为:


sql> select (600+10)*142 from dual;(600+10)*142------------
      8662012345

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

通过下面的命令可以检查信号灯相关配置:


# cat /proc/sys/kernel/sem250 32000 100 12812

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

3.修改 /etc/sysctl.conf

kernel.shmmax=15461882265 
kernel.shmall=3774873 
kernel.msgmax=65535 
kernel.msgmnb=65535

执行  sudo sysctl -p

可以使用  ipcs -l  看结果,ipcs -u 可以看到实际使用的情况


本文转自: https://blog.csdn.net/sunansheng/article/details/51889044

感谢原作者

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 性能优化之内核的shmall 和shmmax 参数

本文链接: https://lsjlt.com/news/45839.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle 性能优化之内核的shmall 和shmmax 参数
    1. 内核的 shmall 和 shmmax 参数 SHMMAX = 配置了最大的内存segment的大小 ——> 这个设置的比SGA_MAX_SIZE大比较好。 SHMMAX...
    99+
    2024-04-02
  • Linux中如何优化系统性能和调整内核参数
    使用性能工具:Linux提供了许多性能工具,如top、vmstat、iostat等,可以帮助您监控系统的性能状况,找出性能瓶颈所...
    99+
    2024-04-02
  • Oracle 学习之 性能优化(十四) 内存
     Oracle数据库包含了如下基本内存组件System global area (SGA)The SGA is a group of shared memory structures, known...
    99+
    2024-04-02
  • Golang函数性能优化之内存对齐优化
    内存对齐优化通过将数据对齐到特定地址来提高程序性能。它减少缓存未命中、优化 simd 指令,具体步骤如下:使用 alignof 函数获取类型的最小对齐值。使用 unsafe.pointe...
    99+
    2024-04-17
    golang 内存对齐
  • 转:MySQL性能优化配置参数之thread_cache和table_cache详解
    http://www.jb51.net/article/51828.htm 一、THREAD_CACHE MySQL里面为了提高客户端请求创建连接过程的性能,提供了一个连接池也就是 Thread_...
    99+
    2024-04-02
  • oracle内存参数的调整优化
    本篇内容介绍了“oracle内存参数的调整优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.历史内存大...
    99+
    2024-04-02
  • Android性能优化之内存优化的示例分析
    这篇文章主要介绍Android性能优化之内存优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、Android内存管理机制1.1 Java内存分配模型先上一张JVM将内存划分区域的图程序计数器:存储当前线...
    99+
    2023-06-15
  • PHP 函数参数类型的性能优化
    为了优化 php 函数参数类型的性能,可以使用类型提示指定函数参数的期望类型,从而消除运行时的开销。此外,可以通过传递参数时的类型强制转换进行优化,例如使用 settype() 函数。实...
    99+
    2024-04-19
    php 参数类型
  • Golang函数性能优化之内存管理技术
    内存管理是 golang 函数性能优化的关键:1. 指针使用:允许访问内存地址,提高性能,避免数据复制;2. 内存池:预先分配对象,根据需要分配和释放,减少内存分配和释放开销。利用这些技...
    99+
    2024-04-17
    golang 内存管理
  • 怎么分析MySQL性能优化的参数
    怎么分析MySQL性能优化的参数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。MySQL的优化我分为两个部分,一是服务器物理硬...
    99+
    2024-04-02
  • 如何优化Oracle数据库的性能
    要优化Oracle数据库的性能,可以采取以下措施: 使用合适的硬件配置:确保服务器硬件配置足够强大,包括CPU、内存和存储等组件...
    99+
    2024-03-02
    Oracle
  • 如何理解SQL Server SQL性能优化中的参数化
    如何理解SQL Server SQL性能优化中的参数化,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。数据库参数化的模式数据库的...
    99+
    2024-04-02
  • MySQL数据库性能优化之SQL优化的示例分析
    这篇文章将为大家详细讲解有关MySQL数据库性能优化之SQL优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  注:这篇文章是以 MySQL 为背景,很多内容...
    99+
    2024-04-02
  • 优化Golang函数参数传递性能的最佳实践
    为了优化 go 函数参数传递性能,最佳实践包括:使用值类型避免复制小型值类型;使用指针传递大型值类型(结构体);使用值类型传递切片;使用接口传递多态类型。在实践中,传递大型 json 字...
    99+
    2024-04-13
    golang 参数传递
  • Oracle 学习之性能优化(七)join的实现方式
      本文讨论一下join技术背后的机制。我们知道常用的表连接有如下几种笛卡尔连接内连接左外连接右外连接全连接这些sql的写法,想必大家都很清楚了,那么这些连接的数据访问是如何实现的呢?nested...
    99+
    2024-04-02
  • C++ 函数参数详解:并行编程中参数传递的性能优化
    多线程环境中,函数参数传递方式不同,性能差异显著:按值传递:复制参数值,安全,但大型对象开销大。按引用传递:传递引用,效率高,但函数修改会影响调用者。按常量引用传递:传递常量引用,安全,...
    99+
    2024-04-27
    c++ 参数传递
  • ORACLE数据库性能优化的示例分析
    这篇文章给大家分享的是有关ORACLE数据库性能优化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ORACLE数据库的优化方式和MYSQL等很大的区别,今天通过一个OR...
    99+
    2024-04-02
  • Golang函数性能优化之错误处理对性能的影响
    错误处理会影响应用程序性能。以下优化措施可改善性能:避免 panic(),使用 error 值。使用 errors.new() 创建错误值。使用特定类型错误简化处理。使用 if err ...
    99+
    2024-04-17
    性能优化 错误处理 golang
  • 优化MySQL数据库性能的十个参数简单介绍
    这篇文章主要介绍“优化MySQL数据库性能的十个参数简单介绍”,在日常操作中,相信很多人在优化MySQL数据库性能的十个参数简单介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Golang函数库的性能和优化技巧
    要最大化 go 函数库性能,可以遵循以下优化技巧:避免动态内存分配以防止性能下降。缓存常用数据以提高重复访问的效率。并行执行任务以利用并发优势。使用 go 协程进行高效的并行处理。优化算...
    99+
    2024-04-18
    golang 性能优化 垃圾回收器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作