每隔60秒发出警报线程警告

时间:2013-09-17 22:09:30

标签: websphere

我正在运行本地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 ......有什么建议吗?

P.S。我的服务器定义中有以下设置作为我的'通用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毫秒(从here发现)

3 个答案:

答案 0 :(得分:5)

原来我的JVM args中有com.ibm.websphere.alarmthreadmonitor.threshold.millis属性的拼写错误。

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

答案 1 :(得分: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。 = all

答案 2 :(得分:1)

我相信这是PM85931。如果您需要修复,我建议您与IBM合作开设PMR。