开发反应某台机器18098端口一直是TIME_WAIT 状态,释放不了,没办法起新服务。
经过查看
确实是一直在TIME_WAIT状态。
然后等待端口释放,发现端口一直不释放。查看看内核参数,看到tpc 的time_waot 参数设置为关闭状态。time_wait的快速回收机制没有打开
参数含义:
net.ipv4.tcp_tw_reuse = 0 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭 net.ipv4.tcp_tw_recycle = 0 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
修改了/etc/sysctl.conf 配置文件后 sysctl -p 生效。
发现还是无果。
查看tcp链接状态
大量的timewait
看到大量的120.92.201.157:80 tcp链接
查不到
netstat -antup|grep ESTAB|grep 120.92
改用所有状态的参数 -a
看到正在建立的链接。查看是哪个进程。关掉即可。