新的I / O服务器工作线程消耗100%的CPU - Netty 3.2.5.Final

时间:2013-06-26 08:35:01

标签: netty

我们有一个基于Netty的消息中间件,它基本上用作http代理。它运行在Windows 2003,1 CPU x86,2GB RAM上。

Netty版本:3.2.5.Final Java 1.6.0_u18

恶意软件(McShield服务)运行6分钟,消耗近100%的CPU。在此事件之后,3个“新I / O服务器工作线程”线程正在“循环”并消耗100%的CPU。它们以某种方式悬挂在SelectorUtil.select()中。

当时无法执行threaddump(由win服务启动的程序: - /)。当进程仍在使用98%的CPU时,8小时后制作下面的一个。

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

这是一个已知的错误吗? 提前谢谢!

2 个答案:

答案 0 :(得分:2)

可能是类似的问题:https://github.com/netty/netty/issues/302

如果可能的话,我会明确地尝试最新的3.6版本。

答案 1 :(得分:1)

四十二的回答似乎非常好。 当我在寻找sun.nio.ch.SelectorImpl的源代码时,我遇到了这个HP page报告类似的问题。但是,我不确定它们是否完全匹配。其中一个似乎是特定于FileSystem选择器,但另一个似乎非常接近。它已存在一段时间,并已在Java 7(b12)中修复。