运维小记:TIME_WAIT过多的处理方法

sysctl(8) 是一个允许您改变正在运行中的 FreeBSD 系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用 sysctl(8) 可以读取设置超过五百个系统变量。
基于这点,sysctl(8) 提供两个功能:读取和修改系统设置。

查看所有可读变量:shell> sysctl -a
读一个指定的变量,例如 kern.maxproc:shell> sysctl kern.maxproc
要设置一个指定的变量,直接用 variable=value 这样的语法:shell>sysctl kern.maxfiles=5000

sysctl 变量的设置通常是字符串、数字或者布尔型。 (布尔型用 1 来表示'yes',用 0 来表示'no')。
如果你想在每次机器启动时自动设置某些变量, 可将它们加入到文件 /etc/sysctl.conf 之中。


shell> sysctl -a | grep net.ipv4.tcp  #查看当前系统参数

net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 60

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0

shell> vi /etc/sysctl.conf

shell> /sbin/sysctl -p #让刚添加的内容生效


参数解读:

net.ipv4.tcp_fin_timeout = 30  #修改系統默认的 TIMEOUT 时间,单位是秒

net.ipv4.tcp_tw_recycle = 1  #表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭

net.ipv4.tcp_tw_reuse = 1  #表示允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭

net.ipv4.tcp_syncookies = 1  #表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭。

net.ipv4.tcp_timestamps = 1  #tcp_timestamp是RC 1323定义的优化选项。它主要用于TCP连接中RTT(Round Trip Time)的计算。开启tcp_timestamp有利于系统计算更加准确的RTT,也就有利于整体TCP性能。

net.ipv4.tcp_max_tw_buckets = 524288  #系统同时处理的最大 timewait sockets 数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值