短时间大量connect()返回errno 99: cannot assign request address
来源:互联网 发布:阿里云域名修改 编辑:程序博客网 时间:2024/06/06 00:09
这个问题出现在一个批量上传文件的客户端程序里,系统是Ubuntu 15.04.
测试采用的是解压缩的linux kernel 文件夹。由于linux kernel 里存在大量的小文件,才用短链接,每次close()之后有大量的socket处于TIME_WAIT状态,而没有释放,这导致客户端 socket被用完,当新的connect()产生时,分配不到socket.
解决方法是,修改以下两项内核参数,来加速socket的释放
sudo sysctl -w net.ipv4.tcp_timestamps=1sudo sysctl -w net,ipv4.tcp_tw_recycle=1
不过下面这篇文章有关于是否应该设置的讨论,供设置是参考:
http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html
最终问题解决了,解决方式是使用一个Socket来处理目录下所有文件,对每一个文件开一个Socket,端口迟早会用完。
0 0
- 短时间大量connect()返回errno 99: cannot assign request address
- fastdfs errno: 99, error info: Cannot assign requested address
- ipython notebook error: [Errno 99] Cannot assign requested address
- Socket connect error 99(Cannot assign requested address)
- Cannot assign requested address以及大量的TIME_WAIT解决办法
- Cannot assign requested address
- Cannot assign requested address
- Cannot assign requested address
- Cannot assign requested address
- 造成socket.error: [Errno 99] Cannot assign requested
- 造成socket.error: [Errno 99] Cannot assign requested
- bind: Cannot assign requested address
- Linux - Cannot assign requested address
- Cannot assign requested address: JVM_Bind
- Cannot assign requested address: JVM_Bind
- Cannot assign requested address: JVM_Bind
- BindException: Cannot assign requested address
- Cannot assign requested address 问题
- 实现Javascript/css与HTML的分离
- 欧拉函数+中国剩余定理
- html5之创建离线Web应用程序
- java.lang.IllegalStateException: getOutputStream() has already been called for this response 分类: 异常
- hdu 5316 Magician(2015多校第三场第1题)线段树单点更新+区间合并
- 短时间大量connect()返回errno 99: cannot assign request address
- 【Android基础】AsyncTask示例——加载网络图片
- hdu1627 Krypton Factor(回溯法)
- 正则表达式
- HP gives OpenVMS new life - A new road map for OpenVMS emerges from an HP agreement
- iOS开发使用Picker View实现一个图片浏览的App
- Ubiquitous Religions(POJ--2524
- VRRP(VirtualRouterRedundancyProtocol,虚拟路由冗余协议
- hdu1495 非常可乐(简单BFS)