2013-06-26 29 views
1

我們有一個基於Netty的消息中間件,它基本上作爲一個http代理。它運行在Windows 2003上,1個CPU x86,2GB RAM。消耗100%CPU的新I/O服務器工作線程 - Netty 3.2.5.Final

Netty的版本:3.2.5.Final 的Java 1.6.0_u18

惡意軟件的軟件(McShield服務)運行6分消耗了近100%的CPU。在此事件之後3「新I/O服務器工作者」線程正在「循環」並消耗100%的CPU。它們以某種方式掛在SelectorUtil.select()中。

線程轉儲不可能在當時完成(程序由win服務啓動: - /)。下面的過程是在8小時之後,當過程仍在使用98%的CPU時。

threaddump http://www.stabilit.ch/download/sc/tr/threaddump.txt
topthreads http://www.stabilit.ch/download/sc/tr/topthreads.jpg

這是一個已知的bug? 在此先感謝!

+0

14小時後,過程出於某種原因正常化! – schoeggii

回答

2

可能是類似這樣的問題:https://github.com/netty/netty/issues/302

我會definitevely嘗試最新的3.6版本,如果可能的話。

+0

,但問題#302(解決方法)是爲Milestone提交的:4.0.0.Alpha3,不適用於3.6,對不對? – schoeggii

+0

嗯,也許,但也有與此相關的其他問題,例如https://github.com/netty/netty/issues/327。我越來越困惑,試圖按照他們所有:-) –

1

四十二的答案似乎是一個不錯的命中。 當我在尋找sun.nio.ch.SelectorImpl的源代碼時,我發現這個HP page報告了類似的問題。但是,我不確定它們是否完全匹配。其中一個似乎是特定於FileSystem選擇器,但另一個似乎非常接近。它已經存在了一段時間,並已在Java 7(b12)中得到修復。

+0

不錯,猜你your're談論這個:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6403933,thx! – schoeggii

+0

不幸的是,它今晚發生在java 1.7.0_25。很難說如果它完全相同的問題..但它消耗100%的CPU,看起來非常相似。 – schoeggii

+0

織補。你可以嘗試使用netty 3.6進行復制嗎? – Nicholas