首页/网络/网络排障速查/TIME-WAIT 堆积:正常与异常判读

TIME-WAIT 堆积:正常与异常判读

TIME-WAIT 是主动关闭方的正常回收态(默认 2MSL=60 秒);堆积到数万条时要区分是高频短连接的自然结果,还是应用没有复用连接。

网络排障速查网络更新于 2026-10-12

量化与分布

量化与分布
ss -Htan state time-wait | wc -l
# 按本地端口聚合,看压在哪个服务端口上:
ss -Htan state time-wait | awk '{print $4}' | awk -F: '{print $NF}' | sort | uniq -c | sort -rn | head
sysctl net.ipv4.ip_local_port_range net.ipv4.tcp_fin_timeout
场景短连接 QPS 高 / 本机端口不够用
判定TW 数量与主动关闭速率成正比
容量本地端口池默认约 2.8 万(32768-60999)
要点TW 占的是四元组,只要四元组不重复就不影响新连接
服务端主动关闭时 TW 挂在服务端口上,不属于端口耗尽;真正会耗尽的是客户端侧的本地端口池。

易错点

  • 看到 TW 上万就断定故障:大流量短连接场景属常态
  • 把 TW 与本地端口耗尽混为一谈:耗尽发生在本地端口维度,不是服务端口

数据来源与参考

  • RFC 9293:TIME-WAIT 与 2MSL
  • Linux 内核文档:ip-sysctl(tcp_fin_timeout)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌