Oracle 性能优化之内核的shmall 和shmmax 参数
Oracle 性能优化之内核的shmall 和shmmax 参数
内核的 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参数的设置。
配置信号灯( 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
------------86620
SEMOPM参数:设置每次系统调用可以同时执行的最大信号灯操作的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。Oracle验证的10.2和11.1的SEMOPM的配置为100。
通过下面的命令可以检查信号灯相关配置:
# cat /proc/sys/kernel/sem
250 32000 100 128
对应的4个值从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI
修改 /etc/sysctl.conf
kernel.shmmax=15461882265
kernel.shmall=3774873
kernel.msgmax=65535
kernel.msgmnb=65535
执行 sudo sysctl -p
可以使用 ipcs -l 看结果,ipcs -u 可以看到实际使用的情况
Oracle 性能优化之内核的shmall 和shmmax 参数相关推荐
- shmmax单位_linux 内存管理——内核的shmall 和shmmax 参数
内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好. SHMMIN= 最小的内存seg ...
- oracle性能优化之awr分析
oracle性能优化之awr分析 作者:bingjava 最近某证券公司系统在业务期间系统运行缓慢,初步排查怀疑是数据库存在性能问题,因此导出了oracle的awr报告进行分析,在此进行记录. 导致系 ...
- Oracle执行exists优化,PHP_解决Oracle性能优化中的问题, 在Oracle性能优化时,用exists - phpStudy...
在Oracle性能优化时,用exists替代in,用表链接替代exists,关于前者,一般效果比较明显,exists效率明显比in高,但是如果要想表连接的效率比exists高,必须在from子句中,将 ...
- oracle性能优化总结
Oracle性能优化 一.数据库优化的方向 1.程序设计(这点最重要,如果程序本身设计有问题,再怎么进行下面的优化都是徒劳的.) 2.操作系统优化 3.硬件优化 4.数据库优化 5.SQL语句优化 二 ...
- 如何“暴力破解”Oracle性能优化的极端问题(附精彩案例解读)
云和恩墨大咖系列报道 2019数据技术嘉年华于11月16日在京落下了帷幕.大会历时两天,来自全国各地上千名学术精英.数据库领袖人物.数据库专家.技术爱好者在这里汇聚一堂,围绕"开源 • 智能 ...
- 春节福利:《Oracle性能优化与诊断案例精选》电子版首次公开下载
值此猪年春节到来之际,恩墨云服务团队恭祝大家新年快乐,心想事成.同时我们也为大家准备了一份新年礼物,首次公开Eygle和600主编的<Oracle性能优化与诊断案例精选>电子版下载. 本书 ...
- 《Oracle性能优化与诊断案例精选》——2.3 衣带渐宽终不悔
本节书摘来自异步社区出版社<Oracle性能优化与诊断案例精选>一书中的第2章,第2.3节,作者:盖国强 , 李轶楠 ,更多章节内容可以访问云栖社区"异步社区"公众号查 ...
- Oracle性能优化 以及 库缓存命中率及等待事件
http://www.cnblogs.com/hyddd/archive/2009/08/30/1556939.html 前言 最近hyddd一直看Oracle的资料,今天特地总结一下这段时间了解到的 ...
- Oracle性能优化专题
Oracle优化是开发人员必须掌握的技能,与其说是技能不如是开发基本.而且在面试过程中这个话题也常常被问到,有一两年工作经验的童鞋面试这个问题是肯定要被问到的,如果知识简单的CRUD实现功能,则是没有 ...
最新文章
- java列表包含列表_java – 包含另一个列表的列表
- 十七、生产者消费者问题
- 添加RichEdit控件导致MFC对话框程序无法执行的解决方法
- 测试lazy_enable_if的所有变体
- C#处理微信json(将JSON转换为对象)
- WCF配置报错 在 ServiceModel 客户端配置部分中,找不到名称 和协定
- 辽源天气预报软件测试,辽源天气预报15天
- 贺利坚老师汇编课程37笔记:把六个字符串里的头一个字母改写成大写字母
- 【转】互联网架构的三板斧
- 计算机二级java难不_计算机二级java含金量如何 对就业有帮助吗
- 十大算法(动图讲解)❤️超详细!
- 这应该是把计算机网络五层模型讲的最好是文章了,看不懂你打我
- 【村长的刷题手册-1】LeetCode刷题笔记,不断总结继续出发
- Spring源码解析之AOP篇(一)----代理模式详解
- Kali linux下拓实N95外置网卡驱动安装教程
- 分水岭matlab仿真,正确使用Matlab分水岭算法对细胞进行分割
- 2月15日市场游资操作情况以及龙虎榜
- CESM学习笔记(CIME)1 :介绍和query_config
- 项立刚:乔布斯展现了人类无尽的创造力
- 观看M-studio的unity中文教程(开发一款移动设备运行的2D游戏)学习记录