- 浏览: 37803 次
- 性别:
- 来自: 北京
-
最新评论
声明:该博文转自http://maping930883.blogspot.com,热爱java,热爱生活
1. 典型现象
(1)响应时间越来越长。
(2)响应超时或没有得到响应。
(3)资源濒临枯竭:内存、工作线程、数据库连接池…
2. 产生原因
(1)threads 数量不够
(2)内存不足
(3)资源竞争
(4)垃圾回收占用时间太长
(5)程序死锁或数据库死锁
(6)某个方法调用相当耗时耗资源
3. 诊断步骤
(1)Ping Server:java weblogic.Admin –url t3://localhost:7001 –username user –password password THREAD_DUMP
如果Ping不通,说明Server确实Hang住了;如果Ping得通,说明Server没Hang住,而是应用自身Hang住了,应该检查应用。
(2)如果Hang可以重现,重启Server,加上参数:–verbosegc,打印详细GC。
看看Server Hang住时,是否在进行频繁的Full GC。
(3)观察所有execute threads的工作情况:domainName> Servers> serverName> Monitoring> General>Monitor All Active Queues> weblogic.kernel.Default
如果所有execute threads都在工作,说明这可能是导致Server Hang的原因。
如果有execute threads处在空闲状态,而Server 依然 Hang住,检查socket reader threads。
(4)每隔10秒,获取一次 Thread Dump,看看有无线程死锁情况。
4. 解决方案
4.1 如果所有execute threads都在工作,而Server Hang住
(1)增加资源:内存、工作线程、数据库连接池(数量参考execute threads)…
(2)为耗时较长的请求创建单独的execute thread queues。
(3)将耗时较长的同步操作改为异步操作,比如把操作逻辑放到Message Driven Bean中。
4.2 如果有execute threads处在空闲状态,而Server Hang住
(1)检查Socket Reader 线程,确定Socket Reader 线程都在正常工作。
(2)适当提高 Socket Reader 线程数。
(3)集群环境下需要更多的Socket Reader 线程。
5. 如何模拟Server Hang
5.1 模拟4.1 的情形
(1)编写一个Java Servlet,该Servlet啥都不干,只是睡觉,并且Sleep很长时间。
(2)编写一个多线程程序,启动和execute threads数量相等的进程,每个进程都去访问上面的Servlet。
(3)Ping Server :java weblogic.Admin -url t3://localhost:7001 -username system -password weblogic PING
由于所有execute threads都在访问该沉睡中的Servlet,没有一个空闲,Server无法Ping通。
(4)观察execute threads(这里使用的是WLS8.1):[Server]->Monitor->General,选择Monitor all Active Queues...,选择weblogic.kernel.Default ,发现所有的execute threads都在“干同样的活”:
(5)增加和execute threads数量(这里使用的是WLS8.1):[Server]->Configuration->General,点击 Advanced Options, 点击Configure Execute Queues选择weblogic.kernel.Default ,选择Configuration,修改Thread Count值为25,Apply 并重启Server。
出现这种情况时,增加execute threads只能解燃眉之急。为了彻底解决问题,还是需要静下心来分析Thread Dump,看看execute threads都在做什么,哪个调用时间比较长。
可以把调用时间比较长的操作(EJBs/Servlets)单独使用另一个Queue。或者可以考虑用异步操作代替时间比较长的同步操作,比如使用Message Driven Bean来实现。
1. 典型现象
(1)响应时间越来越长。
(2)响应超时或没有得到响应。
(3)资源濒临枯竭:内存、工作线程、数据库连接池…
2. 产生原因
(1)threads 数量不够
(2)内存不足
(3)资源竞争
(4)垃圾回收占用时间太长
(5)程序死锁或数据库死锁
(6)某个方法调用相当耗时耗资源
3. 诊断步骤
(1)Ping Server:java weblogic.Admin –url t3://localhost:7001 –username user –password password THREAD_DUMP
如果Ping不通,说明Server确实Hang住了;如果Ping得通,说明Server没Hang住,而是应用自身Hang住了,应该检查应用。
(2)如果Hang可以重现,重启Server,加上参数:–verbosegc,打印详细GC。
看看Server Hang住时,是否在进行频繁的Full GC。
(3)观察所有execute threads的工作情况:domainName> Servers> serverName> Monitoring> General>Monitor All Active Queues> weblogic.kernel.Default
如果所有execute threads都在工作,说明这可能是导致Server Hang的原因。
如果有execute threads处在空闲状态,而Server 依然 Hang住,检查socket reader threads。
(4)每隔10秒,获取一次 Thread Dump,看看有无线程死锁情况。
4. 解决方案
4.1 如果所有execute threads都在工作,而Server Hang住
(1)增加资源:内存、工作线程、数据库连接池(数量参考execute threads)…
(2)为耗时较长的请求创建单独的execute thread queues。
(3)将耗时较长的同步操作改为异步操作,比如把操作逻辑放到Message Driven Bean中。
4.2 如果有execute threads处在空闲状态,而Server Hang住
(1)检查Socket Reader 线程,确定Socket Reader 线程都在正常工作。
(2)适当提高 Socket Reader 线程数。
(3)集群环境下需要更多的Socket Reader 线程。
5. 如何模拟Server Hang
5.1 模拟4.1 的情形
(1)编写一个Java Servlet,该Servlet啥都不干,只是睡觉,并且Sleep很长时间。
(2)编写一个多线程程序,启动和execute threads数量相等的进程,每个进程都去访问上面的Servlet。
(3)Ping Server :java weblogic.Admin -url t3://localhost:7001 -username system -password weblogic PING
由于所有execute threads都在访问该沉睡中的Servlet,没有一个空闲,Server无法Ping通。
(4)观察execute threads(这里使用的是WLS8.1):[Server]->Monitor->General,选择Monitor all Active Queues...,选择weblogic.kernel.Default ,发现所有的execute threads都在“干同样的活”:
(5)增加和execute threads数量(这里使用的是WLS8.1):[Server]->Configuration->General,点击 Advanced Options, 点击Configure Execute Queues选择weblogic.kernel.Default ,选择Configuration,修改Thread Count值为25,Apply 并重启Server。
出现这种情况时,增加execute threads只能解燃眉之急。为了彻底解决问题,还是需要静下心来分析Thread Dump,看看execute threads都在做什么,哪个调用时间比较长。
可以把调用时间比较长的操作(EJBs/Servlets)单独使用另一个Queue。或者可以考虑用异步操作代替时间比较长的同步操作,比如使用Message Driven Bean来实现。
发表评论
-
WLS_046:常见故障之十四:Proxy Plug-in 问题
2013-02-25 14:00 821声明:该博文转自http://maping930883.blo ... -
WLS_042:常见故障之十:JMS Queue中的消息被“重复消费”问题
2013-02-25 13:58 1422声明:该博文转自http://maping930883.blo ... -
WLS_040:常见故障之八:JDBC Connection Pools
2013-02-25 13:56 1359声明:该博文转自http://maping930883.blo ... -
WLS_038:常见故障之六:Too many open files
2013-02-25 13:53 1157声明:该博文转自http://maping930883.blo ... -
常见故障之五:Out of Memory
2013-02-22 16:19 793声明:该博文转自http://maping930883.blo ... -
WLS_036:常见故障之四:Stack Overflow Error
2013-02-22 16:16 1128声明:该博文转自http://maping930883.blo ... -
WLS_034:常见故障之二:Server Crash后找不到Core Dump文件
2013-02-22 16:11 1075声明:该博文转自http://maping930883.blo ... -
WLS_033:常见故障之一:Server Crash
2013-02-22 16:10 936声明:该博文转自http:// ... -
WebLogic Server高级管理之五:集群下的Data Source配置
2012-07-31 21:59 1202声明:该博文转自http:// ... -
WebLogic Server高级管理之四:为集群配置Apache代理
2012-07-31 21:55 1010. 声明:该博文转自http://maping930883.b ... -
WebLogic Server高级管理之三:集群下的HTTP Session管理
2012-07-31 21:52 1569声明:该博文转自http:// ... -
WebLogic Server高级管理之二:为集群配置ProxyServer
2012-07-31 21:47 1541声明:该博文转自http://maping930883.blo ... -
WebLogic Server高级管理之二:为集群配置ProxyServer
2012-07-22 21:04 0声明:该博文转自热爱生活,热爱JAVA。原文地址为http:/ ... -
WebLogic Server高级管理之一:配置集群
2012-07-22 21:01 1092首先声明:该博文转自 ... -
WebLogic Server高级管理之六:集群下的JMS配置
2012-07-22 20:57 1264首先声明,该博文转自热爱生活,热爱JAVA,原文地址为http ... -
WebLogic Server高级管理之八:JMS 存储与转发
2012-07-22 20:37 1137提醒:weblogic系列博客均转载自千红一酷的博客,原地址为 ... -
WebLogic Server高级管理之七:JMS Topic 持久化订阅
2012-07-22 20:04 1083运行环境:WebLogic Server 12.1.1 开发版 ...
相关推荐
请访问下面的repo以获取具有ansible2且没有角色的更新版本。 这比当前的简单。 全局变量:文件名:<playbook> / group_vars / all 指定应用程序名称,即CS,GOLD,GEMS Ex- app_name:CS 指定JVMS以启动/停止。...
此包是本人在修补weblogic漏洞时,http://sn.cloud.ccb.com/bea_wls_internal/classes/META-INF/MANIFEST.MF漏洞实在没办法,试遍网上所有方法,在被逼无奈之下,花了两周研究出来的,就不要想在其他地方找到了,...
fmw_12.2.1.4.0_wls_Disk1_1of1.zip,百度网盘下载地址在TXT文件内
Oracle WebLogic Server(简称WLS)是Oracle公司推出的高端企业级应用服务器,是Java EE应用程序的重要运行平台。本篇文章将详细探讨WLS 12.2.1.4.0的Lite版本,即轻量级版,该版本在保持核心功能的同时,提供了更...
《Oracle FMW 12.2.1.4.0 Weblogic Server Quick Install详解》 Oracle Fusion Middleware (FMW) 是Oracle公司推出的一套全面的企业级中间件平台,旨在帮助企业构建、部署和管理复杂的分布式应用。在FMW 12.2.1.4.0...
fmw_14.1.1.0.0_wls_lite_generic.jar 百度网盘下载地址在TXT文件内
1. **Java EE支持**:WebLogic Server是Java EE(Enterprise Edition)的实现之一,遵循一系列Java EE规范,如EJB、JSP、Servlet、JMS、JPA等,为开发企业级应用提供全面的平台支持。 2. **集群与高可用性**:...
是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.2.1.4) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业...
mac版本weblogic安装包
在本资料包"WLS_MM.zip"中,包含了一个名为"WLS_MM"的文件,这可能是一个MATLAB程序,用于实现加权最小二乘法(Weighted Least Squares, WLS)的计算。 加权最小二乘法是普通最小二乘法(Ordinary Least Squares, ...
【标题】"wls1036_generic.jar" 是Oracle WebLogic Server 10.3.6的一个核心组件,这个JAR文件包含了WebLogic Server的基础功能和管理工具。WebLogic Server是一个广泛应用的Java EE应用服务器,它为企业级应用程序...
在室内无线定位系统中,常见的信号源可以是Wi-Fi接入点、蓝牙设备或是专门的射频标签。接收端根据接收到多个信号源的信号强度或到达时间差(Time Difference of Arrival, TDOA)来估算自身位置。WLS算法通过构建一个...
Edge-Preserving Decompositions for Multi-Scale Tone and Detail Manipulation,wls filter,WLS filter code
fmw_12.1.3.0.0_wls.jar fmw_12.2.1.2.0_wls.jar fmw_12.2.1.3.0_wls.jar fmw_12.2.1.4.0_wls_lite_generic.jar fmw_14.1.1.0.0_wls.jar wls_121200.jar wls1036_generic.jar wls1032_linux32.bin
### Weblogic 10.3.6 (wls1036_generic.jar) 安装包概述 #### 一、Weblogic 10.3.6版本简介 Oracle WebLogic Server 是一款应用服务器,适用于开发、部署并管理企业级应用程序。它支持多种协议和服务,并且与Java ...
Weblogic Server 11gR1,版本号是10.3.6。 在命令行,进入安装文件wls1036_generic.jar所在文件夹 然后输入命令: Java -jar wls1036_generic.jar ,点击回车后程序会启动weblogic安装文件的图形安装界面,若有问题...
Oracle WebLogic Server 10.3.6 是一个企业级的Java EE应用服务器,由甲骨文公司(Oracle)提供,用于构建、部署和管理基于Web的分布式应用程序和服务。此软件是Oracle Fusion Middleware的一部分,提供了丰富的功能...
【标题】"wls基本管理.rar_WLS PDF_wls" 提供的是关于WebLogic Server(WLS)的基础管理知识,其中“WLS”是WebLogic Server的缩写,是一款由Oracle公司开发的企业级Java应用服务器,广泛用于部署和管理Java应用程序...
**基于WLS滤波的HDR显示 - HDR_WLS_最小二乘滤波** 高动态范围(HDR)图像技术是现代数字图像处理中的一个重要领域,它能够捕捉并显示比普通低动态范围(LDR)图像更广泛的亮度范围。HDR图像通常包含比人眼所能感知的更...
根据提供的文件信息,本文将详细解析与WebLogic Server 10.3.2 for Linux 32位在Oracle OCM 11g认证考试中的重要知识点。 ### WebLogic Server 10.3.2 for Linux 32位 #### 一、WebLogic Server简介 WebLogic ...