No buffer space available (maximum connections reached

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分钟);

然后重启操作系统。