java.net.SocketException:没有可用的缓冲区空间(达到最大连接数?):JVM_Bind



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?

相关内容

  • 没有找到相关文章

最新更新