大佬教程收集整理的这篇文章主要介绍了linux-networking – 为什么FIN_WAIT2状态的连接没有被Linux内核关闭?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是连接有时会处于FIN_WAIT2状态.
$sudo netstat -tpn | grep FIN_WAIT2 tcP6 0 0 10.244.0.1:33132 10.244.0.35:48936 FIN_WAIT2 14125/kube-proxy tcP6 0 0 10.244.0.1:48340 10.244.0.35:56339 FIN_WAIT2 14125/kube-proxy tcP6 0 0 10.244.0.1:52619 10.244.0.35:57859 FIN_WAIT2 14125/kube-proxy tcP6 0 0 10.244.0.1:33132 10.244.0.50:36466 FIN_WAIT2 14125/kube-proxy
这些连接随着时间的推移而堆积起来,使得该过程行为不端.我已经reported an issue到Kubernetes bug-tracker但我想了解为什么这样的连接没有被Linux内核关闭.
根据其documentation(搜索tcp_fin_timeout),FIN_WAIT2状态下的连接应在X秒后由内核关闭,其中X可以从/ proc读取.在我的机器上,它设置为60:
$cat /proc/sys/net/ipv4/tcp_fin_timeout 60
所以,如果我理解正确,这样的连接应该关闭60秒.但事实并非如此,他们在这种状态下待了好几个小时.
虽然我也明白FIN_WAIT2连接非常不寻常(这意味着主机正在等待连接的远端可能已经消失的某些ACK)我不明白为什么这些连接没有被系统“关闭” .
我有什么可以做的吗?
请注意,重新启动相关过程是最后的手段.
以上是大佬教程为你收集整理的linux-networking – 为什么FIN_WAIT2状态的连接没有被Linux内核关闭?全部内容,希望文章能够帮你解决linux-networking – 为什么FIN_WAIT2状态的连接没有被Linux内核关闭?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。