第一范文网 - 专业文章范例文档资料分享平台

weblogic常见问题汇总(3)

来源:用户分享 时间:2021-09-28 本文由雨未停天未晴 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

确保服务器确实正在挂起,而不是在做垃圾回收。若要验证挂起,启用 -verbosegc 重新启动服务器,然后将 stdout 和 stderr 重定向到一个文件中。当服务器停止响应时,可以判断它是正在收集无用信息还是确实挂起。

WebLogic Server 使用“Default”线程队列响应客户端服务请求。这些是在发生服务器挂起时应当检查的线程。下面是其中一个线程在 Thread Dump 中的形式示例。Execute Thread 14 正在等待任务。该线程调用的最后方法是 Object.wait()。

"ExecuteThread: '14' for queue: 'default'" daemon prio=5 tid=0x8b0ab30 nid=0x1f4 waiting on monitor [0x96af000..0x96afdc4]

at

http://www.77cn.com.cnng.Object.wait(Native Method)

at

http://www.77cn.com.cnng.Object.wait(Object.java:420)

at

weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)

at

weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)

确定“Default”ExecuteThread 队列是否超载。利用控制台确定“Default”队列中的所有 ExecuteThreads 是否空闲。如果没有一个空闲,则应用程序可能需要一个更大的 ExecuteThread 数来配置。可以通过控制台更改该值,并将其保存在 config.xml 文件中。

如果执行队列有空闲线程,则可能没有分配足够的 Socket Reader 线程。缺省情况下,WebLogic Server 实例在启动时创建三个 Socket Reader 线程。如果群集系统在高峰期使用的 Socket Reader 线程超过三个,则增加 Socket Reader 线程的数量。

通常,Socket Reader 线程的数量应当较小。但是,如果 Weblogic Serve 充当正在挂起的服务器实例的客户端,则应当为每个 Weblogic Serve 配置一个线程。

如果使用 JDBC 连接池,确保池中已经配置的 JDBC 连接数量与同时请求(即执行线程)的数量相等。

返回页首

Thread Dump 分析

分析服务器挂起的最有用的工具是一系列 Thread Dump。Thread Dump 提供关于每个线程在特定时刻正在执行什么操作的信息。一系列 Thread Dump(一般每隔 5 到 10 秒进行三个或更多 Thread Dump)可以帮助分析每个线程从一个 Thread Dump 到另一个 Thread Dump 过程中的状态变化或所缺少的变化。挂起服务器 Thread Dump 一般显示线程状态从第一个 Thread Dump 到最后一个 Thread Dump 中变化很小。

在 Thread Dump 中查看的内容

所有请求都通过 ListenThread 进入 WebLogic Server。如果 ListenThread 丢失,就无法接收任何工作,因此也无法完成任何工作。确认在 Thread Dump 中存在 ListenThread。ListenThread 应当在 socketAccept 方法中。下面示例说明监听线程 (Listen Thread) 的形式。

"ListenThread.Default" prio=10 tid=0x00037888 nid=93 lwp_id=6888343 runnable [0x 1a81b000..0x1a81b530]at http://www.77cn.com.cn.PlainSocketImpl.socketAccept(Native Method)

at

http://www.77cn.com.cn.PlainSocketImpl.accept(PlainSocketImpl.java:353)

- locked <0x26d9d490> (a http://www.77cn.com.cn.PlainSocketImpl)

at

http://www.77cn.com.cn.ServerSocket.implAccept(ServerSocket.java:439)

at

http://www.77cn.com.cn.ServerSocket.accept(ServerSocket.java:410)

at

weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:24)

at

weblogic.t3.srvr.ListenThread.accept(ListenThread.java:713)

at

weblogic.t3.srvr.ListenThread.run(ListenThread.java:290)

Socket Reader 线程接受来自监听线程队列的传入请求,并将该请求放入执行线程队列。如果 Thread Dump 中没有 Socket Reader 线程,则在某个地方存在导致 Socket Reader 线程消失的错误。应当始终保持至少有三个 Socket Reader 线程。一个 Socket Reader 线程一般用于轮询功能,另外两个用于处理请求。下面是一个 Thread Dump 示例中的 Socket Reader 线程。

"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0x00036128 nid=75 lwp_id=6888070 waiting for monitor entry [0x1b12f000..0x1b12f530]

at

weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:92)

- waiting to lock <0x25c01198> (a http://www.77cn.com.cnng.String)

at

weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)

at

weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)

at

weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)

"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0x00035fc8 nid=74 lwp_id=6888067 runnable

weblogic.socket.PosixSocketMuxer.poll(Native Method) [0x1b1b0000..0x1b1b0530]at

at

weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:99)

- locked <0x25c01198> (a http://www.77cn.com.cnng.String)

at

weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)

at

weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)

at

weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)

"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0x00035e68 nid=73 lwp_id=6888066 waiting for monitor entry [0x1b231000..0x1b231530]

at

weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:92)

- waiting to lock <0x25c01198> (a http://www.77cn.com.cnng.String)

at

weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)

at

weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新实用文档weblogic常见问题汇总(3)全文阅读和word下载服务。

weblogic常见问题汇总(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1226111.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top