我在 Rackspace 服务器上托管的 Windows Server 2008 R2 上运行 ASP.NET 应用程序。突然出现问题。除了调用第三方 Web 服务(即访问互联网)的页面外,我的所有应用程序都运行正常。我得到了An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
。当我通过远程桌面登录服务器并访问互联网时,它显示“连接错误”。
统计 2015 年 12 月 22 日,
CLOSE_WAIT 5
ESTABLISHED 146
TIME_WAIT 646750
LAST_ACK 1
LISTENING 30
答案1
你刚刚用完了 TCB(即TCP 句柄)
原因可能有很多,例如:
端口泄漏您正在运行的任何商业软件 --> 解决方案:检查您正在运行的软件并应用任何可用的修补程序。端口耗尽攻击 --> 解决方案:询问您的托管提供商您的流量水平是否异常。部署的任何自定义软件上的端口泄漏 --> 解决方案:让您的开发人员检查他们是否在关闭 TCP 连接后释放 TCB。
TCP 连接关闭后,将进入 time_wait 状态。计算机将保持端口处于半关闭(原文如此)状态,以防出现任何延迟的数据包。它应保持此状态一段时间,定义为 2xMSL(最大段长度的两倍),默认值为 400ms(2x200ms)。在您的情况下,您要么以比完全关闭(和释放)连接更快的速度获得太多连接,要么由于某种原因根本没有释放这些连接。
由于 Rackspace 是一家托管主机,如果您只是想开始操作,我建议您让他们通过 ILO/DRAC 端口登录并重新启动计算机。
答案2
使用此命令查找罪魁祸首可执行文件
netstat -nbt
杀死该 exe 或停止服务,你就可以开始了