ITPUB论坛-中国最专业的IT技术社区

 
 注册
热搜:
查看: 929|回复: 4

[笔记] ipcs、ipcrm、sysresv、kernel.shmmax

[复制链接]
认证徽章
论坛徽章:
15
青年奥林匹克运动会-高尔夫
日期:2014-09-10 14:54:51目光如炬
日期:2017-11-12 22:00:01火眼金睛
日期:2017-09-30 22:00:01目光如炬
日期:2017-09-03 22:00:01火眼金睛
日期:2017-09-01 17:00:07火眼金睛
日期:2017-02-28 22:00:00火眼金睛
日期:2017-02-06 01:02:33人气徽章
日期:2016-11-09 15:56:29目光如炬
日期:2016-10-30 22:00:00罗罗诺亚·索隆
日期:2016-10-17 12:26:14
跳转到指定楼层
1#
发表于 2017-11-15 14:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ipcs、ipcrm、sysresv、kernel.shmmax
1.1  BLOG文档结构图
1.2  前言部分1.2.1  导读和注意事项
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
ipcs的使用
② ipcrm释放oracle内存段
③ sysresv的使用
④ 内核参数kernel.shmmax
⑤ 如何快速的清理Oracle的进程
⑥ 其它维护操作


unix/linux下的共享内存、信号量、队列信息管理
在Unix或Linux下,经常有因为共享内存、信号量,队列等共享信息没有干净地清除而引起一些问题。
查看共享内存的命令是:ipcs [-m|-s|-q]。若ipcs命令不带参数,则默认会列出共享内存、信号量,队列信息,而-m列出共享内存,-s列出共享信号量,-q列出共享队列。
清除命令是:ipcrm [-m|-s|-q] id,其中,-m删除共享内存,-s删除共享信号量,-q删除共享队列。

2.3  如何快速的清理Oracle的进程?
真题1、 如何快速的清理Oracle的进程?
答案:若想要快速清理掉Oracle的进程,则最直接的办法是杀pmon进程。有如下3条命令可供选择,其中加粗的orcl替换成ORACLE_SID的值即可。
kill -9 `ps -ef|grep orcl| grep -v grep | awk '{print $2}'`
ps -ef |grep orcl|grep -v grep|awk '{print $2}' | xargs kill -9
ipcs -m | grep oracle | awk '{print $2}' | xargs ipcrm shm
若想要快速杀掉集群的进程,则可以执行如下命令:
kill -9 `ps -ef|grep d.bin| grep -v grep | awk '{print $2}'`
注意,生产库上严禁使用,否则可能导致集群不能正常启动。
3.1  若是一个主机上有多个oracle实例的话该如何确定哪个共享内存段属于我们该清掉的oracle实例的内存段
答案:使用sysresv命令。sysresv是Oracle在Linux/Unix平台提供的工具,用来查看Oracle实例使用的共享内存和信号量等信息。sysresv存放的路径:$ORACLE_HOME/bin/sysresv。使用时需要设置LD_LIBRARY_PATH环境变量,用来告诉Oracle共享库文件的位置。

第四章 Oracle内核参数
查看:more /proc/sys/kernel/shmmax
临时生效:echo 3145728 > /proc/sys/kernel/shmmax
永久生效,修改文件:/etc/sysctl.conf,并使修改参数立即生效:/sbin/sysctl -p
重要的几个参数如下所示:
kernel.shmall = 2097152
kernel.shmmax = 1054472192
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
其含义分别如下所示:
(一)kernel.shmall = 2097152 # kernel.shmall参数是控制共享内存页数。Linux 共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。如果一个共享内存段的最大大小是16G,那么需要共享内存页数是 16GB/4KB = 16777216KB/4KB = 4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。简言之,该参数的值始终应该至少为: ceil(SHMMAX/PAGE_SIZE)。这个值太小有可能导致数据库启动报错(ORA-27102: out of memory)。
(二)kernel.shmmax = 1054472192  #定义一个内存段最大可以分配的内存空间,单位为字节。如果定义太小,那么会导致启动实例失败,或者SGA就会被分配到多个共享内存段。那么内存中的指针连接会给系统带来一定的开销,从而降低系统性能。这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,最大值可以设置成大于或等于实际的物理内存。如果kernel.shmmax为100M,sga_max_size为500M,那么启动Oracle实例至少会分配5个共享内存段;如果设置kernel.shmmax为2G,sga_max_size为500M,那么启动Oracle实例只需要分配1个共享内存段。
(三)kernel.shmmni = 4096 #设置系统级最大共享内存段数量,该参数的默认值是4096。这一数值已经足够,通常不需要更改。。
(四)kernel.sem = 250 32000 100 128 #信号灯的相关配置,信号灯semaphores是进程或线程间访问共享内存时提供同步的计数器。可以通过命令“cat /proc/sys/kernel/sem”来查看当前信号灯的参数配置,如下所示:
[root@edsir4p1 ~]# cat /proc/sys/kernel/sem
250     32000   100     128
其4个值的含义分别如下:
① 250表示SEMMSL,设置每个信号灯组中信号灯最大数量,推荐的最小值是250。对于系统中存在大量并发连接的系统,推荐将这个值设置为PROCESSES初始化参数加10。
② 32000表示SEMMNS,设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS,SEMMSL*SEMMNI)。事实上,如果SEMMNS的值超过了SEMMSL*SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL*SEMMNI。Oracle推荐SEMMNS的设置不小于32000。
③ 100表示SEMOPM,设置每次系统调用可以同时执行的最大信号灯操作的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。Oracle验证的10.2和11.1的SEMOPM的配置为100。
④ 128表示SEMMNI,设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。



全文请参考:


非常感谢各位朋友支持小麦苗。
论坛徽章:
180
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39马上有车
日期:2014-02-18 16:41:11马上有钱
日期:2014-11-24 15:17:08马上有钱
日期:2014-11-12 09:33:24马上有房
日期:2014-11-07 08:46:05马上有钱
日期:2014-10-27 09:26:57马上有对象
日期:2014-10-28 10:28:08itpub13周年纪念徽章
日期:2014-10-10 10:38:25马上有对象
日期:2015-01-14 17:33:15
2#
发表于 2017-11-15 16:48 | 只看该作者
Oracle10g和11g的推荐值为142。
是142还是128???

使用道具 举报

回复
论坛徽章:
180
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39马上有车
日期:2014-02-18 16:41:11马上有钱
日期:2014-11-24 15:17:08马上有钱
日期:2014-11-12 09:33:24马上有房
日期:2014-11-07 08:46:05马上有钱
日期:2014-10-27 09:26:57马上有对象
日期:2014-10-28 10:28:08itpub13周年纪念徽章
日期:2014-10-10 10:38:25马上有对象
日期:2015-01-14 17:33:15
3#
发表于 2017-11-15 16:59 | 只看该作者
itpub的博客审计现在没人做吗?

审计也太慢了.

使用道具 举报

回复
认证徽章
论坛徽章:
15
青年奥林匹克运动会-高尔夫
日期:2014-09-10 14:54:51目光如炬
日期:2017-11-12 22:00:01火眼金睛
日期:2017-09-30 22:00:01目光如炬
日期:2017-09-03 22:00:01火眼金睛
日期:2017-09-01 17:00:07火眼金睛
日期:2017-02-28 22:00:00火眼金睛
日期:2017-02-06 01:02:33人气徽章
日期:2016-11-09 15:56:29目光如炬
日期:2016-10-30 22:00:00罗罗诺亚·索隆
日期:2016-10-17 12:26:14
4#
发表于 2017-11-15 21:15 | 只看该作者
lfree 发表于 2017-11-15 16:48
Oracle10g和11g的推荐值为142。
是142还是128???

这个影响不大吧

使用道具 举报

回复
认证徽章
论坛徽章:
15
青年奥林匹克运动会-高尔夫
日期:2014-09-10 14:54:51目光如炬
日期:2017-11-12 22:00:01火眼金睛
日期:2017-09-30 22:00:01目光如炬
日期:2017-09-03 22:00:01火眼金睛
日期:2017-09-01 17:00:07火眼金睛
日期:2017-02-28 22:00:00火眼金睛
日期:2017-02-06 01:02:33人气徽章
日期:2016-11-09 15:56:29目光如炬
日期:2016-10-30 22:00:00罗罗诺亚·索隆
日期:2016-10-17 12:26:14
5#
发表于 2017-11-15 21:15 | 只看该作者
lfree 发表于 2017-11-15 16:59
itpub的博客审计现在没人做吗?

审计也太慢了.

我上次等了4天才通过的

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 |
  | | |
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表