解决Oracle+weblogic系统死机的问题
前段时间发布的系统(Oracle+weblogic)频繁挂掉,每天早上9点、下午2点高峰期就挂,纠结了很长时间,最终解决,方法描述下。
执行select count(*),status from v$session group by status;指令,发现不活动连接数比较大,当上升到一定数值之和,就挂。
做了下面优化,包括数据库的优化和WebLogic的优化。
1、数据库优化
1) 创建pfile SQL>create pfile from spfile
检查
- oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX'(准确路径:/oracle/admin/ORADB/pfile/init.ora.352012231626)文件是否存在,备份到本地。
2) 停web服务,备份数据库,备份发布的代码
3) 查看参数并记录
1、show parameter sga
2、查看PGA_AGGREGATE_TARGET值
SELECT NAME, VALUE/1024/1024 MB
FROM v$pgastat
WHERE NAME IN ('aggregate PGA target parameter', 'global memory bound');
4) 修改pfile的内容
--alter system set sga_max_size=4096M scope=spfile ;
--alter system set sga_target= 4096M scope=spfile;
--alter system set pga_aggregate_target=2048M scope=spfile ;
alter system set pre_page_sga=true scope=spfile ;
alter system set lock_sga=true scope=spfile;
alter system set workarea_size_policy=auto scope=spfile ;
5) 修改limits.conf并重启电脑
/etc/security/limits.conf这个配置文件中添加如下的一行(oracle是启动数据库的操作系统账号),意思是oracle用户可以在物理内存中锁住任意大的空间:
oracle - memlock unlimited
然后重启操作系统reboot
6) 如果启动数据库失败,执行修复
startup pfile='……/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX'
7) 修改oracle连接池,并重启数据库
Oracle的sessions和processes的关系是
sessions=1.1*processes + 5
SQL>show parameter processes;
SQL>alter system set processes=1000 scope = spfile;
SQL>show parameter session;
SQL>alter system set sessions=1105 scope = spfile;
2、优化WebLogic
1) 修改web服务器连接池
weblogic所在服务器尚有26G内存,为满足1000并发访问量,可以将数据源连接池最高设置为2000。
初始容量改为500 当前设置值3
最大容量改为2000 当前设置值200
容量增长改为100 当前设置值3
重新启动weblogic
2) 修改web服务器JVM内存大小(参数待定)
找到安装目录下的weblogic\common\bin\commEnv.cmd文件
打开修改如下代码:
sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms1024mm-Xmx2048mm-XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none goto continue :sun_prod_mode set JAVA_VM=-server ...
3) 发布新版程序
4) 重启web服务器操作系统
3、最终解决
经过上述处理,系统有明显优化,但是每天死机3次,早上8点,10点,下午3点左右。
经过执行下面2个指令,分别查看线程的活动情况和堆栈信息情况,可以跟踪到哪个方法导致系统堆栈延迟。
top -H 这个命令是查看是哪个线成比较忙
jstack -l 8032 | less 这个命令是查看堆栈信息,堆栈延迟中可以看到是执行了什么方法导致的。没有延迟就看不到,有延迟就能看到哪个方法导致系统堵塞,后来发现有个方法代码效率很低,而且访问最频繁,访问高峰时间正好和死机的时间吻合。
优化方法之后,系统稳定了。
解决Oracle+weblogic系统死机的问题的更多相关文章
- [vmware]另类解决vmware关闭win10死机或蓝屏问题
升级win10后在使用虚拟机发生一个问题,本人的win10版本为win10 9879, 在使用vmware时,当关机会整个系统死机,在网上搜索后发现这是由于win10内核升级导致vmware不兼容,最 ...
- 嵌入式/X86下linux系统死机及内存优化
一. CPU 过高或死锁导致系统卡死 1. CPU占用过高 (1)开线程太多导致CPU占用过高,系统卡死 解决:优化应用层业务逻辑,有些业务不必开线程就不开 (2)频繁清缓存导致读spi-flash ...
- 删除一个cjson导致系统死机
一个未使用,未分配的cjson指针应该被删除,如果尝试删除一个 未分配,未启用的cjson将导致内存出错,死机.
- 解决oracle 端口 1521 本机127可通 其他ip不通
http://wenku.baidu.com/link?url=8tRGGObqgLd6-yqprioIZSyluu9K0BgA29Lhx7F57pVDIHbMHVDNTa_SlEmVugGT4QJO ...
- 解决VS2010使用comboBox死机问题
今天,在10下使用combobox总是不响应,原来是和翻译软件冲突,关掉有道立即解决.
- lwip BUG ,导致 系统 死机
pcb->snd_queuelen >= pbuf_clen(next->p) sys_arch_assert: in ..\..\User\lwip\src\core\tcp_in ...
- linux死机解决办法
linux死机后不要长按电源建强制关机,容易对损坏系统配置或者电脑硬件,导致重启后产生不必要的麻烦 如果是在图形界面下死机的话,不要再依赖任何图形界面的工具,解决方法如下: 1.一种方式是进入终端界面 ...
- Windows死机的话,可能的一些猫病
一.由硬件引起的原因 [散热不良] 显示器.电源和CPU在工作中发热量非常大,因此保持良好的通风状况非常重要,如果显示器过热将会导致色彩.图象失真甚至缩短显示器寿命.工作时间太长也会导致电源或显示器散 ...
- windows server 2012 开机运行一段时间死机的故障
环境: 物理机:华为2288 V5 虚拟化:esxi 6.5.2 虚拟操作系统 windwos server 2012 标准版 内安装sql server 和其他应用软件 故障描述:window se ...
随机推荐
- MySQL update时使用联表,聚合
原文地址 http://stackoverflow.com/questions/3022405/mysql-update-query-with-left-join-and-group-by UPDAT ...
- 迷茫的it男,我该何去何从
从去年7月份毕业,一直到现在已经快一年了.准确的说,我已经是工作两年的人了.第一份工作是HIS工程人员,主要负责医院系统部署维护实施工作,当初之所以找实施,也是迫不得已,退而求其次的想法,当时还是在校 ...
- Thinkphp 3.2中字符串截取
将此方法放到Thinkphp/Common/function.php里/* * 字符串截取函数 * 大白驴 * 2016-11-29 qq 675835721 * */function msubstr ...
- 学jQuery Mobile后的感想
jQuery Mobile是jQuery 在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架.支持全球 ...
- Linux 常用命令集合
1. 常用命令 ls 显示当前目录下的文件和文件夹: -ltr 按时间顺序显示文件和文件夹的详细信息,不带参数的时候 只显示文件夹和文件. vi 打开文件的内容 tar -cvf file.tar ...
- 学习iOS【3】数组、词典和集合
一.数组 1.不可变数组NSArray arrayWithObjects:使用一组对象作为元素创建不可变数组,注意数组的最后一个值需要指定为nil,用来表示参数的结束,但是nil并不会存储在数组中. ...
- 二:基础概述netty
如果不了解netty的,可以百度下,netty社区现在也比较活跃. 现在所谓的大数据,flume,storm等底层都是netty. netty的性能模型: io模型---->异步非阻塞io ...
- maven私服搭建(centOS6.5)
maven的好处和私服的应用本文不赘述,私服搭建如下: MAVEN 私服搭建(centOS 6.5 环境) 1. 准备环境,搭建centOS6.5系统环境,略 2. 准备对应的软件包如下: A. ...
- Linux系统Vsftp 传文件出现 553 Could Not Create File错误的解决方法
解决方法: 登录出现了这个错误提示:553 Could not create file SELinux设置如下 查看SELinux设置 [root@localhost ~]# getsebool -a ...
- WPS for Linux(ubuntu)字体配置(字体缺失解决办法)
启动WPS for Linux后,出现提示"系统缺失字体" . 出现提示的原因是因为WPS for Linux没有自带windows的字体,只要在Linux系统中加载字体即可. 具 ...