windows 操作系统,tomcat报错:
java.net.SocketException: No buffer space available (maximum connections reached?): connect
调查发现由于大量的TIME_WAIT连接未被释放,导致占用的端口资源一直未被回收,出现了缓冲区空间不足的问题,应用也总是自动断线。
解决方法:
用管理员身份启动cmd—>regedit 进入注册表
2.进入 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters
3.新建 DWORD 类型的注册表项,命名为:MaxUserPort
4.值数据(双击MaxUserPort提示输入值): 65534(用十进制的格式录入进去,此值的有效范围为5000-65534)
5.新建 DWORD 类型的注册表项,命名为:TCPTimedWaitDelay
6.值数据: 30(TIME_WAIT的自动断开时间,默认为4分钟);
通过以上几步操作,重新启动tomcat。问题不复现,开心!!!!
然后重启操作系统。