簡體   English   中英

JMX線程卡在ClientNotifForwarder上

[英]JMX Thread stuck on ClientNotifForwarder

我們的應用程序連接到幾個jmx代理(大約50個)以頻繁間隔輪詢jmx數據。 一段時間(大約一天)后,應用程序變得反應遲鈍。 我們查看了線程轉儲,並看到大量線程卡在ClientNotifForwarder上。

例如:

"ClientNotifForwarder-50" daemon prio=3 tid=0x09aa3800 nid=0x330 runnable [0xd3a90000..0xd3a90c70]
java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    - locked <0xe2538af0> (a java.io.BufferedInputStream)
    at java.io.DataInputStream.readByte(DataInputStream.java:248)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:195)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
    at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl_Stub.fetchNotifications(Unknown Source)
    at javax.management.remote.rmi.RMIConnector$RMINotifClient.fetchNotifs(RMIConnector.java:1291)
    at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchNotifs(ClientNotifForwarder.java:503)
    at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:395)
    at com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(ClientNotifForwarder.java:83)

任何幫助確定根本原因的人都表示贊賞......

謝謝,拉賈

嘗試從命令行設置連接和讀取超時屬性。

sun.net.client.defaultConnectTimeout
sun.net.client.defaultReadTimeout

http://docs.oracle.com/javase/6/docs/technotes/guides/net/properties.html

假設你有足夠的再審機制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM