我们有一个基于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
这是一个已知的错误吗? 提前谢谢!
答案 0 :(得分:2)
可能是类似的问题:https://github.com/netty/netty/issues/302
如果可能的话,我会明确地尝试最新的3.6版本。
答案 1 :(得分:1)
四十二的回答似乎非常好。 当我在寻找sun.nio.ch.SelectorImpl的源代码时,我遇到了这个HP page报告类似的问题。但是,我不确定它们是否完全匹配。其中一个似乎是特定于FileSystem选择器,但另一个似乎非常接近。它已存在一段时间,并已在Java 7(b12)中修复。