最近在工作中遇到这样一个场景:使用一个Java编写的模拟硬件设备的工具,这个工具会模拟很多设备(每个设备需要占用一个端口)去连接服务器。一般情况下,一台Windows虚拟机上会模拟5000至10000个设备,这样一般不会有问题。后来改成模拟40000个设备的时候,出现了“No buffer space available”的异常,具体如下:

1. 问题原因

乍一看以为是虚拟机内存不够或者是模拟工具分配的内存不够,后来检查发现,并不是这个原因。经过查找资料发现,这是端口不够所导致的。Windows默认情况下的端口启用情况可以用命令: netsh int ipv4 show dynamicportrange tcp来查看,具体如下:

可以看到,默认情况下启用端口数只有16384个,所以出现了上述错误。

2. 解决方法

管理身份运行命令窗口,然后通过命令netsh int ipv4 set dynamicport tcp start=2000 num=63000修改端口数。

其中:
start为起始端口号
num为端口数量

执行上述命令后再次查看端口启用情况:

可以看到,现在启用的端口总数是63000。这样上述问题就解决了!

3. 结语

因为在协议里端口使用两个字节存储的,所以端口的最大数量为65536。所以,单台机器上运行的程序占用的端口数不能超过这个数量。目前我还不知道是否有其他方法可以突破这个限制,如果有,还请大神赐教。

【No buffer space available】异常解决相关推荐

  1. 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 ...

  2. 解决报错: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 ...

  3. 为什么会存在TIME_WAIT socket-详细分析No buffer space available

    新年上班第一天,突然遇到一个socket连接No buffer space available的问题,导致接口大面积调用(webservice,httpclient)失败的问题,重启服务器后又恢复了正 ...

  4. 0037-java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind

    一个朋友让我帮忙解决他服务器上一个JAVA应用出现的问题,我利用业务时间赶赴现场两次,终于解决了这个疑难杂症,赶紧记录下来,不求能解救曾经和我一样困惑的劳苦大众,但愿自己别忘了. 一.问题的表现 首先 ...

  5. java socket / No buffer space available

    s https://www.cnblogs.com/yiwangzhibujian/p/7107785.html Socket用在哪呢,主要用在进程间,网络间通信. https://www.cnblo ...

  6. 最终解决 No buffer space available maximum connections reached

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 异常情景 ...

  7. windows系统socket泄露问题解决--No buffer space available (maximum connections reached?): JVM_Bind

    今天在公司服务器上部署的一套后台系统突然不能使用了,上服务器看了一下,控制台打印了如下错误信息: java.net.SocketException: No buffer space available ...

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

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

  9. java.lang.OutOfMemoryError​异常解决方法

    java.lang.OutOfmemoryError: PermGen Space 的错误,导致项目无法正常运行. 出现这个错误的原因,总结一下: PermGen Space指的是内存的永久保存区,该 ...

  10. was java heap space_实战项目中Java heap space错误的解决

    部标GPS通讯系统在上线之后,经过不断调试,终于稳定运行一段时间,后来又遇到了Java heap space错误异常!日志如下: 说明系统中有未释放的对象.如何找出这些未释放对象以及监控JVM堆内存, ...

最新文章

  1. Python中fnmatch模块的使用
  2. Deep Learning回顾之LeNet、AlexNet、GoogLeNet、VGG、ResNet
  3. 深度学习基础知识(一): 概述-神经网络起源和发展
  4. FormView里用FindControl找不到控件的解决方法
  5. Freemarker介绍
  6. lua 给userdata设置元表_提高Lua语言开发效率的简单方法
  7. Spring Boot数据持久化之NamedParameterJdbcTemplate
  8. hdfs 数据迁移_对象存储BOS发布全新工具,加速自建HDFS到云端的访问速度
  9. 架构漫谈(四):如何做好架构之架构切分
  10. ServletContext和ServletConfig
  11. css基础知识汇总3
  12. 自适应模糊控制——直接自适应模糊控制
  13. 我的世界seus光影java版下载_我的世界seus光影mod
  14. HandlerSocket
  15. 如何开展兼容性测试?兼容性测试有什么作用?
  16. TP框架中S函数使用方法
  17. 输入一个QQ邮箱或者网易邮箱,判断其格式是否正确 要求:长度不能超过15,@前面不能用字母 正确格式2156636@qq.com
  18. Zeppelin集成Spark3
  19. 以微信小程序相册为例,看Serverless DevOps最佳实践
  20. Kotlin成为Android开发首选语言——你绝对不能错过的

热门文章

  1. r语言中形成的c函数,R语言_par()函数用法
  2. 在VC中用CMenuXP使应用程序拥有Office XP风格的界面
  3. 百度AI认为最漂亮的中国女星是----范冰冰
  4. 工程制图与AUTOCAD【1】
  5. Blinky.c(171): warning: #1-D: last line of file ends without a newline
  6. android小程序题目,我要出题app-我要出题小程序预约 _5577安卓网
  7. c语言程序设计杨明莉刘磊答案,清华大学出版社-图书详情-《C/C++程序设计基础与实践教程(第2版)》...
  8. compositionAPI
  9. 人工神经网络评价法案例_人工神经网络评价法.
  10. 订阅号与服务号的区别