6

我正在运行本地 WAS 7.0 服务器用于开发目的。我的机器是 Win 7,我使用的是 Java 1.6。WAS 的具体版本是:

IBM WebSphere Application Server, 7.0.0.25
Build Number: cf251235.04 
Build Date: 8/30/12

我正在使用的 Eclipse 版本是

Eclipse Java EE IDE for Web Developers
Version: Juno Service Release 2
Build id: 20130225-0426

以及 WebSphere Application Server 7.0 Eclipse 插件

com.ibm.websphere.v7.core (7.0.101.v20121205_2240) "WebSphere Application Server v7.0 Core Runtime Jars" [Active]

我遇到的问题是每 2 分钟左右就会在我的 SystemOut.log 文件中打印以下警告:

[9/17/13 16:54:47:812 CDT] 00000025 AlarmThreadMo W   UTLS0008W: The return of alarm thread "Non-deferrable Alarm : 2" (0000001f) to the alarm thread pool has been delayed for 40106 milliseconds. This may be preventing normal alarm function within the application server. The alarm listener stack trace is as follows: 
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:196)
    at com.ibm.io.async.AbstractAsyncFuture.waitForCompletion(AbstractAsyncFuture.java:334)
    at com.ibm.io.async.AsyncFuture.getByteCount(AsyncFuture.java:218)
    at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.readAIOSync(AioSocketIOChannel.java:215)
    at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:182)
    at com.ibm.ws.tcp.channel.impl.TCPReadRequestContextImpl.read(TCPReadRequestContextImpl.java:111)
    at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext.read(SSLReadServiceContext.java:265)
    at com.ibm.ws.management.connector.ipc.ClientAccessor.clientReadMoreData(ClientAccessor.java:264)
    at com.ibm.ws.management.connector.ipc.ClientAccessor.request(ClientAccessor.java:169)
    at com.ibm.ws.management.connector.ipc.IPCConnectorClient.sendReceive(IPCConnectorClient.java:452)
    at com.ibm.ws.management.connector.ipc.IPCConnectorClient.pullNotifications(IPCConnectorClient.java:2167)
    at com.ibm.ws.management.event.PullRemoteReceiver.getNotifications(PullRemoteReceiver.java:222)
    at com.ibm.ws.management.event.PullRemoteReceiver.alarm(PullRemoteReceiver.java:183)
    at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:133)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646).
[9/17/13 16:56:07:712 CDT] 0000001f AlarmThreadMo W   UTLS0009W: Alarm Thread "Non-deferrable Alarm : 2" (0000001f) previously reported to be delayed has now completed.  It was active for approximately 120007 milliseconds.

这种情况始终如一地发生;因为我收到“延迟”警告,然后 2 分钟后我收到“已完成”警告。然后大约 60 秒过去了,我再次收到“延迟”警告,大约 2 分钟后再次收到“完成”警告……无限期。

除了可笑的烦人;一切似乎都运行良好......我能够发布/启动/停止服务器。我的应用程序运行正常。

我只是想让这个警告停止填写我的 SystemOut.log ......有什么建议吗?

PS 我在我的服务器定义中确实有以下设置作为我的“通用 JVM 参数”:

-Xquickstart -Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000 -Dlog4j.debug-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=D:/temp

认为设置 '-Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000' 应该将警告阈值增加到 140,000 毫秒而不是默认的 40,000 毫秒(从这里发现)

4

3 回答 3

5

事实证明,我的 JVM 参数中有一个关于该com.ibm.websphere.alarmthreadmonitor.threshold.millis属性的错字。

添加-Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000到我的 JVM 参数会成功抑制警告。

于 2013-09-18T14:14:34.753 回答
1

WAS8 和 WAS85 上存在关于错误警告的问题:

http://www-01.ibm.com/support/docview.wss?uid=swg1PM85931

您可以尝试使用以下系统属性将其静音:

-Dcom.ibm.websphere.alarmthreadmonitor.hung_alarm_mute=1

您还应该启用诊断跟踪以确定系统中发生的情况。使用以下跟踪字符串: =info: com.ibm.ws.management.connector.ipc。=全部

于 2013-09-18T07:27:49.987 回答
1

我相信这是PM85931。如果您需要修复,我建议您向 IBM 开一个 PMR。

于 2013-09-18T16:13:13.377 回答