加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux-networking – 杀死CLOSE_WAIT套接字而不杀死Linux上的父

发布时间:2020-12-13 16:34:01 所属栏目:Linux 来源:网络整理
导读:Tomcat离开我的CLOSE_WAIT套接字最终使最大连接数饱和. 我在我的客户端和服务器代码中尝试了很多方法来摆脱这些无济于事,包括关闭连接,调用System.gc()等. 现在我正试图找到一种方法来简单地在操作系统中快速计算出来.我有conntrack工作,但我不知道如何使用
Tomcat离开我的CLOSE_WAIT套接字最终使最大连接数饱和.

我在我的客户端和服务器代码中尝试了很多方法来摆脱这些无济于事,包括关闭连接,调用System.gc()等.

现在我正试图找到一种方法来简单地在操作系统中快速计算出来.我有conntrack工作,但我不知道如何使用它来杀死这些连接.我还将/ proc / sys / net / ipv4 / netfilter / ip_conntrack_tcp_timeout_close_wait设置为1,这当然太低但连接仍然存在.

有没有办法杀死这些僵尸插座?

运行Ubuntu.

解决方法

我相信连接服务器端的CLOSE_WAIT意味着服务器已从客户端收到FIN,将已将此确认回客户端,然后通知应用程序它可以关闭连接.

然后,一旦确认已从连接读取所有数据,则应用程序将放弃连接.

一旦放弃连接,服务器就会将最终的FIN发送回客户端,连接将完全关闭.

建议它与“TCP_tuning”无关

你确定你的应用程序正在关闭套接字吗?

当我写一个python服务器时,我学到了这个:D

UPDATE
根据您的Tomcat版本,由于Tomcat 6中引入的错误以及Coyote的AJP协议中的keepAliveTimeout功能,您可能会遇到此问题.
此问题的性质是由于Tomcat在keepAliveTimeout过期后未能关闭套接字引起的. Tomcat套接字将保持CLOSE_WAIT状态,但相应的mod_jk套接字将正常关闭.

他的错误已在SVN commit r589062中修复,并在Tomcat 6.0.15中发布

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读