windows server 2012 r2 系统缓冲区空间不足或者队列已满,不能执行套接字上的操作

系统缓冲区空间不足或者队列已满,不能执行套接字上的操作

之前从没有用过windows server 2012 r2的服务器, 有个新的合作方需要部署这个服务器,部署完毕之后发现在测试的时候出现‘系统缓冲区空间不足或者队列已满,不能执行套接字上的操作 ’ 。
然后我开始查资料发现服务器的端口号被占用 , 队列已满了。
于是我开始在服务器上进入命令指令符, 输入 netstat -ano查找端口使用情况 。 发现有个pid进程为0的 状态为time_wait的一个程序占用了大量的端口号。
在这里插入图片描述
随后我去任务管理器里面去查找这个pid为0的进程,发现是系统自带的进程 无法处理。
在这里插入图片描述
进程无法结束还是解决不了问题。于是我开始查找TCP协议的有关资料, 发现他们对time_wait的解释是这样的 。 time_wait状态下windows系统默认4分钟释放这个状态关闭连接目的是为了网络波动下确保数据的完整性,
于是我在关于tcp协议下找到了关于这个状态的属性值TcpTimedWaitDelay。这个值范围是0-300缺省值默认240 于是我进入注册表路径。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters,
查看这个值发现没有这个属性, 那么它应该就是系统缺省了,
那我就给他新建一个这个属性定义。
在这里插入图片描述
设置为30
在这里插入图片描述
设置完毕, 重启电脑, TCP会30秒自动释放一次连接。

这种设置对于高并发会有一定的帮助,
最后附上几个我查询的引用博客, 希望能帮到你们。
TCP属性解析
https://blog.csdn.net/niejiangshuai/article/details/86573338

Windows Server2008之大量TIME_WAIT端口不能关闭和释放

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值