未开启HugePages ORACLE session剧增时引起的一次悲剧

故障简单描述一下:LINUX系统未开启HugePages,主机内存将近300G,SWAP是32G。ORACLE 的 SGA_MAX_SIZE设置是主机内存的将近80%,SGA_TARGET设置是主机内在的将近60%,正常情况下数据库session大约在将近500。故障当天业务有变化,session数增加了一倍,达到上1000个,内存紧张,用到了SWAP空间。

解决:找时间关数据库,重新配置HugePages,重启数据库后观察,内存消耗较少,与未开启HugePages之前是数量级对比。Hugepage可以减轻cpu的负担,还可以减少系统内存的消耗;一般情况下建议linux的数据库系统配置Hugepage(特别是内存大、SESSION多).

关于开启hugepages与关闭,参考:http://blog.csdn.net/haibusuanyun/article/details/20697371

关于LINUX 6关闭;http://blog.csdn.net/haibusuanyun/article/details/41983497

会话数600多时

[[email protected]* ~]$ ps -ef|grep LOCAL| wc -l

613

[[email protected]* ~]$ ps -ef|grep LOCAL| wc -l

647

[[email protected] ~]$ free -m

total       used       free     shared    buffers     cached

Mem:        257927     255079       2847          0         64     148001

-/+ buffers/cache:     107013     150914

Swap:        31999      13738      18261

[[email protected] ~]$ cat /proc/meminfo |grep PageT

PageTables:     94353044 kB

[[email protected] ~]$ free -m

total       used       free     shared    buffers     cached

Mem:        257927     255182       2745          0         64     147743

-/+ buffers/cache:     107373     150553

Swap:        31999      13981      18018

[[email protected] ~]$ ps -ef|grep LOCAL| wc -l

654

[[email protected]~]$ cat /proc/meminfo |grep PageT

PageTables:     95038204 kB

会话数上1000时,

[[email protected] ~]$ cat /proc/meminfo |grep PageT

PageTables:     110855888 kB

[[email protected] ~]$ ps -ef|grep LOCAL| wc -l

1016

补充下配置HugePages后的使用情况

[[email protected] ~]$ cat /proc/meminfo |grep Page

PageTables:       164464 kB

[[email protected]~]$ ps -ef|grep LOCAL|wc -l

429

时间: 2024-10-08 11:58:50

未开启HugePages ORACLE session剧增时引起的一次悲剧的相关文章

Oracle session inactive状态临时表数据未清空问题

问题描述:Oracle数据库,java代码使用某数据库实例,获取connection并在使用结束关闭,而session未销毁,而是状态变为inactive从而导致临时表数据未清空. Oracle临时表有session级别和事务级别,正常情况下session级别临时表数据会在session关闭后自动清空.而项目中同时连接了多个实例,2个实例配置参数全部一致,另一个实例在关闭connection后,session自动销毁,该实例session却仅仅是状态在切换. 原因原因??

This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed(在64位模式下运行安装了32位的Oracle客户端组件时,会发生此问题)

部署win服务时出现下面的问题: 在事件查看器中看到如下错误: 日志名称: Application来源: ***调度服务日期: 2014/5/21 12:53:21事件 ID: 0任务类别: 无级别: 错误关键字: 经典用户: 暂缺计算机: ams-webserver描述:Service cannot be started. Achievo.Utility.DataAccess.DbException: Attempt to load Oracle client libraries threw

未加域客户端使用Lync时反复弹框要求输入凭证

最近发现部分未加域客户端打开Lync 2010时反复弹框要求输入凭证,且提示与Exchange进行连接时凭证错误,此时感觉问题原因因该是发生在两端客户端信息不匹配导致的,此时在Lync客户端帐号登录处输入完整域帐号(帐号@域名)后,并记住密码后无任何报错信息,且退出重新登录也不再提示,outlook相关日历信息也得到了正常同步. 未加域客户端使用Lync时反复弹框要求输入凭证,布布扣,bubuko.com

尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

从10G开始,Oracle提供了一个较为轻量级的客户包,叫做Instant Client. 将它安装好后,就不用再安装庞大的Oracle Client了. 这样一来,只要客户端下载Instant Client,直接解压,设置Path就ok了.具体设置如下:1.下载32位Oracle InstantClient 2.将Oracle InstantClient解压到某目录 3.打开PL/SQL,在perference里面设置OCI Library和Oracle_home,例子如下:        

Oracle session连接数和inactive的问题记录

Oracle session连接数和inactive的问题记录 http://timnity.javaeye.com/blog/280383 从上周起,服务器Oracle数据库出现问题,用不到半天,就会报maxsession(150)的问题,肯定是数据库的会话超过最大数了.   由于服务器跑的是文件传输应用,占用的请求和会话肯定很大,因此用户数不大就已经让oracle的会话数达到最大值.   处理方式不外乎两种:扩大oracle最大session数以及清除inactive会话,当然还有,就是从数

tomcat cluster session同步时保存数据的问题

Tomcat Cluster官网:https://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html(tomcat7.0) 场景: tomcat1 tomcat2    |            |--------|---------      nginx tomcat版本:7.0.59 1.后端应用为2台tomcat容器,并且配置了Tomcat Cluster:2.nginx为前端web服务器,负责反向代理和负载均衡(简单轮训),配置如下:

尝试加载 Oracle 客户端库时引发 BadImageFormatException。问题记录

1公司电脑是win7 64位旗舰版,刚来时配的新电脑,4G+i5这个配置不装64位那算是浪费了.谁知道一切装完毕后,打开项目却连不上oracle数据了... 首先是pl/sql连不上,我在本地装了个oracle 11g r2 64位的.装了oracle服务器,应该是不用再装客户端,pl/sql应该就能连上的,应为oracle服务器版本自带了客户端的那些管理工具和功能.但是pl/sql一直报个错啊!大概意思是说找不到32位的oci.dll文件之类的错误,网上一搜,说pl/sql装在64位系统上,要

【每日学习】Apache重写未开启,导致The requested URL /xxxx.html was not found on this server

今天把项目环境从集成换成独立的,全部搭建好后,网站主页www.xxx.com能打开,但一涉及到跳转,带参数,比如 www.xxx.com/xxx/xxx.html 就会报错 The requested URL /xxxx.html was not found on this server 因为是新搭建的环境,apache的重写未开启,开启重写后,问题解决,方法如下: apache 打开 httpd.conf 文件 找到 #LoadModule rewrite_module modules/mod

webservice 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下运行,将出现此问题

最近做的项目中,应用服务器迁移到另外一台服务器,操作系统升级为win10,配置好IIS里的应用程序发布网站和Webservice网站后, 客户端程序调用Webservice出错: “尝试加载 Oracle 客户端库时引发 BadImageFormatException.如果在安装 32 位 Oracle 客户端组件的情况下运行,将出现此问题”. 写了个控制台程序,在本机上运行测试,还是出现这个问题: 最开始以为是oracle客户端的问题,重新安装另外一个版本的客户端,运行程序还是出现这个错误.