为什么80%的码农都做不了架构师?>>>   

之前在用Go语言做一个批量程序时出现在下错误

dial tcp 127.0.0.1:80: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.

环境:程序操作是一直模拟访问网站,不断Get一些网页或Post一些数据,运行在服务器上,刚开始正常,一会数据过大之后就出现如上错误了。

网上查找资料后了解到,这并不是Go特有的,这是由于程序不断打开关闭连接,有些操作完成后没有正常手动关闭,导致大量连接处于CLOSE_WAIT状态,直到计算机再也找不到可供使用的端口,程序就出错了。

解决:解决的最优方法当然是优化程序代码,把所有的错误都处理掉,连接正常关闭。实在不行就是通过修改服务器配置,来加大可用端口数量或减少CLOSE_WAIT等待时间(CLOSE_WAIT状态默认会保持120秒):

打开注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

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

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

我重启之后问题解决了,不过这方法冶标不冶本,建议有条件还是优化您的代码吧。

========== 不羁的分割线 =========

优化方法可以参考:http://my.oschina.net/waknow/blog/293852

就是打开的http连接,http.Response需要Close掉:

resp.Body.Close()

转载于:https://my.oschina.net/yiqu/blog/383025

程序网络访问出错:lacked sufficient buffer space相关推荐

  1. An operation on a socket could not be performed because the system lacked sufficient buffer space or

    dkron (dkron 是一个定时任务执行系统,可以将所有的定时任务写成接口形式,用这个定时任务系统统一管理)定时任务所有的定时任务都不执行了,启动不了,查看日志报错: An operation o ...

  2. golang:An operation on a socket could not be performed because the system lacked sufficient buffer s

    1.问题 conn, err := net.Dial("tcp", '127.0.0.1:50001') 执行此语句报错详细报错信息 dial tcp 127.0.0.1:5000 ...

  3. 解决报错:sufficient buffer space or because a queue was full

    An operation on a socket could not be performed because the system lacked sufficient buffer space or ...

  4. bind: An operation on a socket could not be performed because the system lacked sufficient buffer sp

    如题所示错误并不一定是代码出问题了 最近在用golang抓取bitcoin块的数据,程序编译后运行良好. 运行一段时间后报错bind: An operation on a socket could n ...

  5. java 链接占用太多_Java程序链接数过多导致java.net.SocketException: No buffer space available问题...

    发布时间: Aug 29, 2020 更新时间: Aug 29, 2020 总字数:482 阅读时间:1m 作者: 谢先斌 Java程序链接数过多导致java.net.SocketException: ...

  6. java.net.SocketException:No buffer space avaliable(maximum connection reached?):JVM_Bind 解决办法...

    No buffer space available 2009-06-15 14:03 java.net.SocketException: No buffer space available (maxi ...

  7. api网关和esb区别_具有ESB,API管理和Now .. Service Mesh的应用程序网络功能。

    api网关和esb区别 我最近谈论了微服务模式的演变,以及来自Lyft的Envoy之类的服务代理如何帮助将弹性,服务发现,路由,指标收集等责任推到应用程序下一层. 否则,我们冒着希望并祈祷各种应用程序 ...

  8. 具有ESB,API管理和Now ..服务网格的应用程序网络功能。

    我最近谈论了微服务模式的演变,以及来自Lyft的Envoy之类的服务代理如何帮助将弹性,服务发现,路由,指标收集等责任推到应用程序下一层. 否则,我们冒着希望并祈祷各种应用程序将正确实现这些关键功能或 ...

  9. 刷机后连接上wifi提示网络访问受限时间不同步问题解决方法小米8刷魔趣WIFI无法联网解决方法

    安全提示:操作前,请确保自己的手机已经解锁,不然分区加密状态下,如法写入数据,也就无法保证刷入成功. 手里闲置一台小米8,性能配置,大小手感都还不错,所以一直留着.闲着无事拿出来折腾一下,刷个魔趣系统 ...

最新文章

  1. 免费!这里有一份开发者进阶“宝典”求带走
  2. 每天多一点(2016.12.04)》Javascript隐式转换
  3. numpy中reshape方法详解
  4. mysql的innodb表生成的物理文件_MySQL innodb表使用表空间物理文件复制或迁移表
  5. cms的 php代码,KingCMS/PHP可执行代码
  6. 分数加减乘除混合运算带答案_分数分数加减乘除混合运算练习题及答案_0.doc
  7. Linux文件系统之:通用块处理层 ll_rw_block | +往期文章回顾
  8. 中文格式_财务必会Excel技巧,将数字转换成中文的5种方式
  9. Android安全防护之旅---Android应用反调试操作的几种方案解析
  10. 解压文件win10自动删除
  11. MATLAB实现傅里叶变换
  12. struts2联网问题
  13. 论文阅读-2022.1.2-A Neural Network Approach for_2016_一种用于知识驱动响应生成的神经网络方法
  14. DAMO-YOLO全流程代码解读
  15. 2022/09/20、21 day09/10:JavaScript(三)
  16. 科软分数线狂降53分!凡是隔壁却。。。
  17. 赛事快讯|2022中国工程机器人大赛——飞思无人机仿真与自主任务赛项演示视频来啦!
  18. 在两台 ubuntu 之间传输大文件
  19. sqlite主键与唯一约束
  20. 网上流传的《名侦探柯南》大结局十二种!

热门文章

  1. java高校图书馆管理网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  2. Android基础四大组件详解
  3. 打开Office软件时的错误-----隐含模块中的编译错误:autoexecnew
  4. 北斗导航 | 北斗/GNSS相关数据下载:IGS/IGMAS/MGEX/DCB/brdc/gamit/bernese/rinex等
  5. 终于给自己买了台电脑
  6. 2021年广州市学历入户全流程(持续更新)
  7. 用 turtle 绘制圆形
  8. 根据工作日/节假日收货要求计算预计发货时间
  9. MSF-17010(永恒之蓝)复现
  10. 在VIVADO上实现的非常简易的RISC-V CPU设计(来自《Verilog数字系统设计》夏宇闻著)