【问题标题】:WebSphere App Server timing out while stopping (ADMU3060E: Timed out waiting for server shutdown)WebSphere App Server 停止时超时(ADMU3060E:等待服务器关闭时超时)
【发布时间】:2020-06-14 13:54:55
【问题描述】:

我们在生产环境中每天都会遇到 WebSphere Application Server 在停止时超时的问题。收到的错误是

ADMU3060E: 等待服务器关闭超时

以下是部分错误内容:

[6/14/20 3:30:21:650 CDT] 00000001 AdminTool     A   ADMU3201I: Server stop request issued. Waiting for stop status.
[6/14/20 3:50:21:719 CDT] 00000001 AdminTool     A   ADMU3111E: Server stop requested but failed to complete.
[6/14/20 3:50:21:720 CDT] 00000001 WsServerStop  E   ADMU3002E: Exception attempting to process server c0tcpc0
[6/14/20 3:50:21:721 CDT] 00000001 WsServerStop  E   ADMU3007E: Exception com.ibm.websphere.management.exception.AdminException: ADMU3060E: Timed out waiting for server shutdown.
[6/14/20 3:50:21:721 CDT] 00000001 WsServerStop  A   ADMU3007E: Exception com.ibm.websphere.management.exception.AdminException: ADMU3060E: Timed out waiting for server shutdown.
        at com.ibm.ws.management.tools.WsServerStop.runTool(WsServerStop.java:434)
        at com.ibm.ws.management.tools.AdminTool.executeUtility(AdminTool.java:271)
        at com.ibm.ws.management.tools.WsServerStop.main(WsServerStop.java:113)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
        at java.lang.reflect.Method.invoke(Method.java:620)
        at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:234)
        at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:96)
        at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:77)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

WebSphere Application Server 版本是 8.5.5.9,WebSphere SDK 版本是 7.0.9.30。

【问题讨论】:

  • 嗨,这可能有很多原因。如果您可以在问题发生时获得线程转储,这将显示哪些线程仍然处于活动状态,并可能提供有关可以调整的内容的提示,例如数据库事务或其他需要调整超时的远程调用。跨度>
  • 嗨布鲁斯,我们已经进行了线程转储,但在那里找不到任何有用的东西。我们尝试连续 2 天进行转储,但没有一个转储提供任何有用的信息。

标签: websphere


【解决方案1】:

stopServer 命令具有您可以指定的可选超时(以秒为单位)。看看使用它是否有帮助,即 stopServer.sh server1 -timeout 20

stopServer command

(抱歉,我一开始没有注意到您的停止和失败消息确实已经相隔超过 20 秒,但是,在 stopServer 中指定比默认超时时间更长的时间可能很有用。)

【讨论】:

  • 嗨,Evan,实际上是在 20 分钟后超时,这是默认的超时设置。
  • 啊,我看到消息确实相隔 20 分钟。你能告诉我们更多关于应用程序的性质,特别是它往往有长时间运行或复杂的事务吗?卡住的事务也可能导致停止不成功。在您拥有的线程转储中,是否有任何线程等待事务的证据?
  • 嗨,埃文,是的,我在线程转储中看到了一些等待消息,如下所示:
  • 3XMTHREADBLOCK 等待:java/util/TaskQueue@0x00000000016B2E28 拥有者: 3XMHEAPALLOC 自上次 GC 周期以来分配的堆字节=12664 (0x3178) 3XMTHREADINFO3 Java 调用堆栈:java/lang/Object 处的 4XESTACKTRACE。等待(本机方法)4XESTACKTRACE 在 java/lang/Object.wait(Object.java:196) 4XESTACKTRACE 在 java/util/TimerThread.mainLoop(Timer.java:564) 5XESTACKTRACE(输入锁:java/util/TaskQueue@0x00000000016B2E28,条目数:1)
  • 我怎么知道这个线程在等待什么?
猜你喜欢
  • 2016-04-20
  • 2014-08-20
  • 2015-07-21
  • 2014-06-11
  • 1970-01-01
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多