Linux中tcp连接不释放怎么回事,处理方案是什么
Admin 2022-07-21 群英技术资讯 760 次浏览
解决方法:1、利用修改keepalive配置为合适的值可以快速释放端口连接,利用echo设置“设置tcp_keepalive_time”即可,语法为“echo "指定值" > /proc/sys/net/ipv4/tcp_keepalive_time”;2、编辑“/etc/sysctl.conf”文件,语法为“net.ipv4.tcp_keepalive_time=指定值”。
本教程操作环境:linux7.3系统、Dell G3电脑。
问题描述
在开发测试时发现断开与服务器端口后再次连接时拒绝连接。
分析:服务器上查看端口占用情况,假设端口为8080。
netstat -anp |grep 8080
发现端口8080端口显示被占用(ip为本机ip确定是上次连接)且状态为ESTABLISHED,然而实际上连接已经断开,但是服务端没有断开连接,查看TCP的keepalive配置。
sysctl -a |grep keepalive
发现为默认的配置
net.ipv4.tcp_keepalive_time = 7200 net.ipv4.tcp_keepalive_probes = 9 net.ipv4.tcp_keepalive_intvl = 75
默认情况下在连接空闲7200秒即2个小时后才会发送keepalive探测包来确认连接情况。
解决方案
解决:
1、通过修改keepalive配置为合适的值(如改为200秒)可以快速释放端口连接。
临时修改,通过echo设置tcp_keepalive_time。
echo "200" > /proc/sys/net/ipv4/tcp_keepalive_time
2、永久生效,编辑/etc/sysctl.conf,新增或修改为
net.ipv4.tcp_keepalive_time = 200
然后执行命令使修改后的配置生效
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Centos7服务器下apache网站环境搭建与wordpress
不少网友都想知道怎样用scp在 linux 系统之间复制文件?带着这个问题,小编在此整理了相关内容,如果你感兴趣的话千万不要错过了这篇文章。
ssh是什么?ssh怎样理解?很多朋友可能不是很了解ssh有什么功能以及ssh原理是什么,ssh其实是非常有用的。接下来小编就给大家来详细的介绍一下ssh。
在linux中,opt目录的位置就在主目录中,也即“/opt”;opt是optional的缩写,是“可选”的意思,是给主机额外安装软件所摆放的目录,用来安装附加软件包,是用户级的程序目录,例如任何外部或第三方软件。
deepin20时间显示不准确怎么调整?deepin20系统时间不准,想要调整时间,该怎么操作呢?下面我们就来看看deepin时间校正方法,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008