当前位置:首页 > Liunx教程 >

Centos命令查看TIME_WAIT_CentOS大量TIME_WAIT解决的方法

发布时间:2020-01-13 21:48:13 作者:佚名 阅读:(5)

今天发现服务器上面的网站很卡,查了下发现是TIME_WAIT数量过多导致的,接下来吾爱编程就为大家介绍一下TIME_WAIT查看方法和解决方法,有需要的小伙伴可以参考一下:

1、查看方法:

netstat -ae|grep "TIME_WAIT"

返回如下:

tcp        0      0 localhost:36660         localhost:memcache      TIME_WAIT   root       0         
tcp        0      0 localhost:36652         localhost:memcache      TIME_WAIT   root       0         
tcp        0      0 localhost:36664         localhost:memcache      TIME_WAIT   root       0         
tcp        0      0 localhost:35470         localhost:mysql         TIME_WAIT   root       0         
tcp        0      0 localhost:36670         localhost:memcache      TIME_WAIT   root       0         
tcp        0      0 localhost:35480         localhost:mysql         TIME_WAIT   root       0         
tcp        0      0 localhost:35474         localhost:mysql         TIME_WAIT   root       0

2、TIME_WAIT数量统计:

netstat -ae|grep "TIME_WAIT" |wc -l //返回的是数量
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

返回的信息更详细一些:

LAST_ACK 3
LISTEN 15
SYN_RECV 2
ESTABLISHED 434
FIN_WAIT1 8
FIN_WAIT2 13
TIME_WAIT 15202

3、解决方法:

    (1)、调整快速释放参数调整:

sysctl -w net.ipv4.tcp_timestamps=1  开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
sysctl -w net.ipv4.tcp_tw_recycle=1  表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭

查询是否开启可使用:sysctl

    (2)、更详细修改内核参数:

vim /etc/sysctl.conf
参数如下:
//表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_syncookies = 1 
//表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_tw_recycle = 1
//修改系統默认的TIMEOUT时间 
net.ipv4.tcp_fin_timeout = 30

保存文件,然后执行:/sbin/sysctl -p

以上就是吾爱编程为大家介绍的关于TIME_WAIT查看方法和解决方法,了解更多相关文章请关注吾爱编程网!

欢迎分享转载→ Centos命令查看TIME_WAIT_CentOS大量TIME_WAIT解决的方法

© 2015-2019 - 吾爱编程网 版权所有 苏ICP备18033726号-1关于我们 - 网站声明 - 联系我们