`
soli
  • 浏览: 11093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】很多TIME_WAIT连接导致Cannot assign requested address的解决办法

阅读更多
转载自:badguy的个人空间


客户端connect服务器,执行一定时间后,接口返回-99的错误。

查看错误信息: OS error code  99:  Cannot assign requested address

猜想端口被用光的原因,网络搜索得到一个解释:客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,即 “Cannot assign requested address”。

通过netstat,的确看到很多TIME_WAIT状态的连接。

因为是调用API,所以无法对连接进行opt设置,只能通过设置系统配置得以解决。

解决办法:

执行命令修改如下2个内核参数:
//  开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用。
# sysctl -w net.ipv4.tcp_timestamps=1

//  表示开启TCP连接中TIME-WAIT sockets的快速回收。
# sysctl -w net.ipv4.tcp_tw_recycle=1



关于 TIME_WAIT 状态,可参看这篇文章:TCP/IP状态图的TIME_WAIT作用
分享到:
评论

相关推荐

    Tomcat Cannot assign requested address: JVM_Bind 非端口占用冲突

    主要介绍了 Tomcat Cannot assign requested address: JVM_Bind 非端口占用冲突的相关资料,需要的朋友可以参考下

    gorm golang 并发连接数据库报错的解决方法

    底层报错 error:cannot assign requested address 原因 并发场景下 client 频繁请求端口建立tcp连接导致端口被耗尽 解决方案 root执行即可 sysctl -w net.ipv4.tcp_timestamps=1 开启对于TCP时间戳的支持,若该项...

    maven 3.5.0 Cannot assign configuration entry 'pluginArtifacts' with value '${pl

    标题 "maven 3.5.0 Cannot assign configuration entry 'pluginArtifacts' with value '${pl" 描述了一个在使用 Maven 3.5.0 版本时遇到的问题,该问题涉及到配置项 'pluginArtifacts' 的赋值错误,错误信息显示尝试...

    运维必备!linux查看端口占用情况

    Mar 21 21:25:02 VM_0_9_centos httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 Mar 21 21:25:02 VM_0_9_centos httpd: (98)Address already in use: AH00072: make_...

    wap调用支付宝支付接口

    在移动互联网时代,WAP(Wireless Application Protocol)调用支付宝支付接口是常见的在线支付方式之一,尤其适用于手机网页端的电商应用。本教程将详细解释如何实现这一功能。 首先,我们需要了解支付宝提供的WAP...

    Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#Object‘的解决方法

    当你遇到“Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'”这样的错误,通常是因为在同一个模块中混用了CommonJS(`require`和`module.exports`)和ES6模块(`import`...

    三大框架详解

    然而,随着技术的发展,Spring Boot和Spring MVC的流行,现在的趋势更多是采用Spring全家桶,因为它提供了更为全面且现代化的解决方案。 在学习三大框架时,开发者需要理解它们的核心理念和使用方法,包括配置文件...

    stmt_ss2016_16340198_孙肖冉_assign_81

    在给定的【标题】"stmt_ss2016_16340198_孙肖冉_assign_81"和【描述】中,我们可以看到这是一项关于软件测试作业,主要探讨的是如何构建NextDate问题的弱一般等价类测试用例。 NextDate问题要求输入一个1812年至...

    字符串内的替换之SyntaxError: cannot assign to literal

    问题描述: 当想替换字符串内的部分习惯表述时报错,源码如下: num1 = int(input(请输入起始序数n1:)) num2 = int(input(请输入结束序数n2:)) fuc = input(请输入以n为变量的通项公式(eg:2*n+1):) ...

    Golang你一定要懂的连接池实现

    1. **连接池大小限制**:设置连接池的最大连接数是非常必要的,以防止无限制地创建连接导致资源耗尽。例如,在Golang HTTP连接池中,`MaxIdleConns`和`MaxIdleConnsPerHost`参数分别用于限制全局和特定主机的空闲...

    Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#<Object>‘的解决

    在Vue开发过程中,有时会遇到一个常见的错误:`Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'`。这个错误通常发生在使用Webpack打包Vue应用时,由于模块导入导出规范的...

    2020-2stmt_18342075_米家龙_assign51

    在给定的"2020-2stmt_18342075_米家龙_assign51"任务中,要求计算代码片段的Halstead复杂度的11项内容。这些内容包括: 1. 操作符数量(Program Operators) 2. 操作数数量(Program Volumes) 3. 程序长度...

    stmt_ss2016_16340198_孙肖冉_assign_51

    在软件测试中,理解和分析控制流图有助于识别潜在的问题,比如复杂的控制逻辑可能导致的错误,以及确保测试用例能够覆盖所有可能的执行路径。同时,计算环形复杂度可以帮助优化代码,降低维护成本,因为更复杂的代码...

    2020-2stmt_18342075_米家龙_assign41

    标题中的“2020-2stmt_18342075_米家龙_assign41”可能是一个特定的项目编号或者作业名称,但没有提供足够的上下文来理解其具体含义。描述中同样重复了这个编号,没有提供额外信息。由于标签为空,我们无法直接获取...

    2020-2stmt_18342075_米家龙_assign11

    标题中的“2020-2stmt_18342075_米家龙_assign11”可能是一个特定的作业编号或者文件命名格式,它并不直接提供具体的知识点,但可以推断这是一份关于软件工程的作业,由米家龙(18342075)在2020年的某个时间完成。...

    stmt_ss2016_16340198_孙肖冉_assign_21

    需求变化通常会引发测试策略的调整,需要重新设计和实现功能,如果无法及时适应这些变化,可能导致质量标准的缺失,最终产出的软件可能无法满足预期的质量要求。 此外,软件设计与开发工具的选择也是风险之一。需求...

    如何解决ORACLE11G里面ORA-24247 网络访问被访问控制列表 (ACL) 拒绝 错误

    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL( acl => 'UTL_INADDR.xml', host => '*' ); COMMIT; END; / PL/SQL 过程已成功完成。 ``` 5. **测试** - 再次尝试执行原来的SQL语句: ```sql SELECT lower(utl_...

    getting_and_cleaning_data_assign1:Coursera课程

    Getting_and_cleaning_data_assign1 Coursera 课程 - 作业 该文件描述了 run_analysis.R 脚本的工作原理: 步骤1:下载到工作文件夹并从解压缩数据并将文件夹重命名为“srcdata”。 ..* 确保文件夹“srcdata”和 ...

    is_ss2018_18342075_米家龙_assign_71

    这导致了目标机的ARP缓存中网关的MAC地址被篡改,但目标机与网关之间的ping命令仍然显示连通,可能是因为Docker默认启用了IP转发。 在欺骗过程中,攻击机使用`tcpdump`工具捕获网络包,以验证攻击是否成功。一旦...

Global site tag (gtag.js) - Google Analytics