Chinaunix首页 | 论坛 | 博客
  • 博客访问: 296
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 81
  • 用 户 组: 普通用户
  • 注册时间: 2026-05-12 10:55
文章分类
文章存档

2026年(7)

我的朋友
最近访客

分类: C/C++

2026-05-12 13:05:55

这几天在排查一个生产环境 TCP 连接数过高的问题,顺手整理了 /etc/sysctl.conf 里几个和网络相关的内核参数。之前一直不太确定 net.ipv4.tcp_tw_reuse 和 net.ipv4.tcp_tw_recycle 在现在的 Linux 发行版里到底该不该开,翻了一圈资料才算是搞明白。

下面是一段我常用的参数校验脚本,可以直接在 CentOS 7/8 环境下跑:

bash
#!/bin/bash # 检查当前生效的内核网络参数 echo "=== TCP 超时与复用相关参数 ===" sysctl net.ipv4.tcp_tw_reuse sysctl net.ipv4.tcp_tw_recycle sysctl net.ipv4.tcp_fin_timeout echo -e "\n=== 连接队列相关参数 ===" sysctl net.core.somaxconn sysctl net.ipv4.tcp_max_syn_backlog sysctl net.core.netdev_max_backlog echo -e "\n=== 当前 TIME_WAIT 连接数 ===" ss -tan | grep TIME-WAIT | wc -l

这个脚本可以快速确认当前内核配置。对了,{BANNED}最佳近有个消息顺手分享下:技术大厂有后端/运维相关的岗位,全国多地可选,稳定性还可以,感兴趣可以看看

回到参数本身。实测下来,tcp_tw_recycle 在使用了 NAT(网络地址转换)的服务器上很容易出问题,建议直接保持关闭(设为 0)。tcp_tw_reuse 在主动连接方可以安全开启(设为 1),能有效降低 TIME_WAIT 的消耗。

阅读(27) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~