Tomcat 在 Windows 下运行一个 Web 应用程序。几天后(在非常低的负载下),标题中提到的异常开始出现在日志中,从那时起无法建立新的连接,唯一的解决方法是重新启动服务器。
环境:
- 最新雄猫6
- 视窗服务器 2008 R2
- JDK 6 更新 30
- SQL Server 2008
- Kerberos 身份验证
迄今收集的证据:
- Netstat 显示没有过多的连接数
- 进程资源管理器不显示过多的打开文件句柄
- 系统主内存使用率为平均水平
- JVM 堆使用率是平均水平
- 重新启动雄猫不能解决问题
开放性问题:
- 如果我们泄漏了连接,它们不应该出现在Netstat中吗?
- 重新启动应用服务器不应该解决问题,因为操作系统应该释放所有进程资源吗?
- 有没有办法将问题追溯到其根源? 例如,安装监控软件,也许类似于 lsof 等?
我没有想法,任何提示都值得赞赏!
我们收到此错误的原因是Windows Server 2008 R2/Windows 7中的一个错误。由于具有多个内核的计算机上的争用条件,内核泄漏环回套接字,此修补程序修复了此问题:http://support.microsoft.com/kb/2577795
我在Windows 7 64位上运行Alfresco社区4.0d,并有相同的症状和错误。
该问题已通过Microsoft的补丁修复:"运行Windows Server 2008 R2或Windows 7的多处理器计算机上内核套接字泄漏"(http://support.microsoft.com/kb/2577795)。巴迪赌场的回答(见下文))。
我想补充的另一个观察是,Windows连接(Internet Explorer,远程桌面等)将在Alfresco服务关闭后约5-10分钟再次工作。
露天是一个优秀的产品,我担心我将不得不报废它。幸运的是,堆栈溢出来救了!
再次感谢巴迪赌场的回答。
向投反对票的人发出嘘声。
我们在类似的设置中看到同样的事情,W2008R2,Tomcat 6.0.29,Java 1.6.0.25。 重新启动 tomcat 无济于事,但重新启动服务器本身会有所帮助,至少在一段时间内。 在上次我们开始关闭单个服务之后,我们相信我们已经将其缩小到也在服务器上运行的Alfresco实例或Backup Exec Agent服务。 在这些服务(总共四个)停止后,Tomcat 中的应用程序再次开始工作,尽管我们仍然在 stdout 日志中看到缓冲区/连接错误,这很奇怪。 需要等待问题再次出现,然后再确认哪些是罪魁祸首,这可能是几天到一周或更长时间。
你有没有机会在你的服务器上运行Alfresco或BE?