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



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

Netty版本:3.2.5.最终Java 1.6.0_u18

恶意软件(McShield服务)运行6分钟,消耗近100%的CPU。在此事件之后,3个"新I/O服务器工作线程"正在"循环"并消耗100%的CPU。它们不知怎么挂在SelectorUtil.select().中

线程转储在当时是不可能完成的(win-service://启动的程序)。当进程仍在使用98%的CPU时,将在8小时后进行以下操作。

线程转储http://www.stabilit.ch/download/sc/tr/threaddump.txt
顶螺纹http://www.stabilit.ch/download/sc/tr/topthreads.jpg

这是一个已知的bug吗?提前感谢!

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

如果可能的话,我肯定会尝试最新的3.6版本。

四十二的答案似乎很成功。当我四处寻找sun.nio.ch.SelectorImpl的源代码时,我发现这个HP页面报告了类似的问题。然而,我不确定他们是否完全匹配。其中一个似乎是特定于FileSystem选择器的,但另一个似乎非常接近。它已经存在了一段时间,并在Java7(b12)中得到了修复。

最新更新