linux部署的tcp修改keepalive
时间: 2024-10-20 08:14:51 浏览: 43
在Linux系统中,TCP连接的Keep-Alive特性用于检测连接是否还活着并避免长时间无活动导致的连接超时。你可以通过编辑网络配置文件`/etc/sysctl.conf`或者直接运行`sysctl`命令来调整TCP Keep-Alive相关的参数。
以下是两个关键的参数:
1. `net.ipv4.tcp_keepalive_time`:这是指发送第一个Keep-Alive探测的时间间隔,单位是秒,默认值大约是7200秒(2小时)。如果设置较小,比如300秒,可以更快地检测到链路故障。
2. `net.ipv4.tcp_keepalive_intvl`:这个参数定义了探测之间的时间间隔,也是以秒为单位,默认值通常为75秒。
3. `net.ipv4.tcp_keepalive_probes`:它表示在接收到对方关闭连接前,发送多少次探测包。默认值为9次。
要临时改变这些设置,可以在终端输入:
```bash
sudo sysctl -w net.ipv4.tcp_keepalive_time=300
sudo sysctl -w net.ipv4.tcp_keepalive_intvl=50
sudo sysctl -w net.ipv4.tcp_keepalive_probes=3
```
这将把Keep-Alive设置为300秒的间隔、50秒的探测间歇以及3次探测。完成操作后,记得重启服务或者用`echo`命令永久化更改到`/etc/sysctl.conf`:
```bash
echo "net.ipv4.tcp_keepalive_time=300" >> /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_intvl=50" >> /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_probes=3" >> /etc/sysctl.conf
sudo sysctl -p
```
阅读全文