欢迎来到天天文库
浏览记录
ID:32265307
大小:69.00 KB
页数:5页
时间:2019-02-02
《weblogic常规服务器挂起问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、WEBLOGIC常规服务器挂起问题问题描述在出现以下情况时怀疑服务器挂起:·服务器不响应新的请求。·请求超时。·请求处理的时间越来越长(其最终结果可能是挂起)。·通常,服务器挂起不会表现为服务器崩溃,但服务器挂起之后可能会崩溃。故障排除请注意,并非下面所有任务都需要完成。有些问题仅通过执行几项任务就可以解决。快速链接:l为什么发生此问题?l服务器挂起的可能原因l基本步骤l已知的WebLogicServer问题l收集ThreadDumplThreadDump分析为什么发生此问题?服务器挂起有多种原因。一般而言,服务器挂起是因为缺少某种资源。缺少资源会阻止服务器响应服务请求。例如,由于故障(死锁
2、)或者大量请求的缘故,可能没有任何可用的执行线程来完成工作,所有执行线程都被占用或忙于处理以前的请求。服务器挂起的可能原因主题模式名称链接RMI、RJVM响应-所有绑定线程等待RJVM、RMI响应。EJB_RMI服务器挂起EJB_RMI服务器挂起应用程序死锁-线程锁定资源1,然后等待锁定资源2。另一个线程锁定资源2,然后等待锁定资源1。应用程序死锁导致服务器挂起待定线程全部被占用,没有线程可用于新工作。线程占用导致服务器挂起待定垃圾回收花费太多时间。垃圾回收导致服务器挂起待定servlet时间的JSP错误设置,比如PageCheckSeconds。JSP导致服务器挂起待定死锁造成JDBC挂起
3、。JDBC中的服务器挂起待定(代码优化)过程中的JVM挂起类似于服务器挂起。代码优化中服务器挂起待定在大量负载情况下JSP编译造成服务器挂起。JSP编译导致服务器挂起待定SUNJVM错误,比如轻量型线程库。SunJVM错误导致服务器挂起待定返回页首基本步骤当服务器挂起时,首先使用javaweblogic.Admint3://server:portPING来ping该服务器。如果服务器能够响应此ping,则可能是应用程序正在挂起而不是服务器自身。确保服务器确实正在挂起,而不是在做垃圾回收。若要验证挂起,启用-verbosegc重新启动服务器,然后将stdout和stderr重定向到一个文件中。
4、当服务器停止响应时,可以判断它是正在收集无用信息还是确实挂起。WebLogicServer使用“Default”线程队列响应客户端服务请求。这些是在发生服务器挂起时应当检查的线程。下面是其中一个线程在ThreadDump中的形式示例。ExecuteThread14正在等待任务。该线程调用的最后方法是Object.wait()。"ExecuteThread:'14'forqueue:'default'"daemonprio=5tid=0x8b0ab30nid=0x1f4waitingonmonitor[0x96af000..0x96afdc4]atjava.lang.Object.wait(N
5、ativeMethod)atjava.lang.Object.wait(Object.java:420)atweblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)atweblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)确定“Default”ExecuteThread队列是否超载。利用控制台确定“Default”队列中的所有ExecuteThreads是否空闲。如果没有一个空闲,则应用程序可能需要一个更大的ExecuteThread数来配置。可以通过控制
6、台更改该值,并将其保存在config.xml文件中。如果执行队列有空闲线程,则可能没有分配足够的SocketReader线程。缺省情况下,WebLogicServer实例在启动时创建三个SocketReader线程。如果群集系统在高峰期使用的SocketReader线程超过三个,则增加SocketReader线程的数量。通常,SocketReader线程的数量应当较小。但是,如果WeblogicServe充当正在挂起的服务器实例的客户端,则应当为每个WeblogicServe配置一个线程。如果使用JDBC连接池,确保池中已经配置的JDBC连接数量与同时请求(即执行线程)的数量相等。已知的We
7、bLogic问题JDBC产生死锁问题的可能性存在。检查在weblogic.log开头找到的服务器的版本和ServicePack级别。然后对已经应用于服务器类路径的所有临时修补程序检查以上版本和ServicePack行。修补程序将指明已经解决了什么问题。收集ThreadDump进行ThreadDump的方法取决于安装挂起服务器实例的操作系统。有关在不同的操作系统上进行ThreadDump的信息,可以在以下网址中
此文档下载收益归作者所有