由于系统缺少足够的缓冲区空间或队列已满,无法对套接字执行操作。

发布时间 2023-12-19 11:33:20作者: 人生苦短,知足常乐!

由于系统缺少足够的缓冲区空间或队列已满,无法对套接字执行操作。

其实这个是由于操作系统的tcp连接被用完了,dkron不断打开关闭连接,有些操作完成后没有正常关闭,导致大量连接处于CLOSE_WAIT状态,直到计算机再也找不到可供使用的端口
使用命令:netstat -a 查看,会发现大量的tcp已连接,未关闭

解决方法:增加端口数量 或者减少CLOSE_WAIT等待时间
打开注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

建一个DWORD项,名字为MaxUserPort,值为十进制65534(十六进制0000FFFE),表示最大可用端口为65534

建一个DWORD项,名字为TCPTimedWaitDelay,值为十进制30(十六进制0000001e),表示TCP连接等待时间30秒