织梦CMS - 轻松建站从此开始!

罗索

TCP Socket一直处于FIN_WAIT1的状态

落鹤生 发布于 2014-06-14 00:29 点击:次 
落鹤生:前阵子在一个PPC 85xx的板子上出面一个问题,两个会议终端正常入会,入会后直接将其中一个终端关机(或拔网线),结果导致另一终端的线程一直处于堵塞状态,经查发现该终端的socket(TCP)一直处于FIN_WAIT1的状态,要等到十几分钟之后该socket才能被正常关闭。
TAG: FIN_WAIT1  CLOSE_WAIT  

落鹤生:前阵子在一个PPC 85xx的板子上出面一个问题,问题现象如下:两个会议终端正常入会,入会后直接将其中一个终端关机(或拔网线),结果导致另一终端的线程一直处于堵塞状态,经查发现该终端的socket(TCP)一直处于FIN_WAIT1的状态,要等到十几分钟之后该socket才能被正常关闭(关于TCP socket关闭的流程及FIN_WAIT1的说明可以参考这篇文章:http://www.rosoo.net/a/201406/16984.html)。

于是一阵子搜Google,有找到很多类似的问题,及所谓的解决方案,但无一能解决该问题,后经Review代码发现该socket被设置为BLOCK模式,最终在将该socket改为NON-BLOCKING模式,并在close该socket之前shutdown收发,即可将该socket的关闭时间缩短到几秒钟,并解决该问题。

以下为之前搜到的一个不正确的答案,但也可作为一个参考,故予以保留。

-----------------------------

fin_wait1过多问题

大部分是说net.ipv4.tcp_fin_timeout = 10来调节,不管用,狂在百度里谷歌:

net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_orphan_retries = 3
net.ipv4.tcp_reordering = 5
net.ipv4.tcp_retrans_collapse = 0

一下子搞定,目前还不知道各个参数含义,待查!

全部的sysctl.conf如下:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_tw_buckets = 50000
net.ipv4.tcp_fin_timeout =10
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
fs.file-max = 65536
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_max_syn_backlog = 10240
net.core.netdev_max_backlog = 51200
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_orphan_retries = 3
net.ipv4.tcp_reordering = 5
net.ipv4.tcp_retrans_collapse = 0

 

(落鹤生)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201406/16990.html]
本文出处:罗索实验室 作者:落鹤生
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容