首页/网络/网络排障速查/ss -o:查看 TCP 定时器与重传

ss -o:查看 TCP 定时器与重传

连接卡住时用 -o 看内核在等什么:keepalive 探活倒计时、TIME-WAIT 剩余、重传定时器与已重传次数,直接读出内核状态。

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

查看定时器

查看定时器
ss -ton state established | head -20
# 输出示例:
# ESTAB 0 0   10.0.0.5:22   10.0.0.9:51422  timer:(keepalive,118min,0)
# ESTAB 0 132 10.0.0.5:443  10.0.0.30:49110 timer:(on,394ms,0)
# ESTAB 0 0   10.0.0.5:3306 10.0.0.8:40001  timer:(timer,1min28sec,8)

定时器判读

输出含义
timer:(keepalive,118min,0)keepalive 探活,118 分钟后触发
timer:(on,394ms,0)有未确认数据,等待重传/ACK 计时
timer:(timer,1min28sec,8)重传定时器,第三个数字 8 = 已重传 8 次
重传次数达到 net.ipv4.tcp_retries2(默认 15,约 13-30 分钟)后内核放弃连接,应用侧表现为 ETIMEDOUT。

易错点

  • 忽略 timer 显示正在重传的连接:它表面是 ESTAB,实际已经不通
  • 把 keepalive 倒计时当作即将断开,白白排查半天

数据来源与参考

  • man 8 ss(iproute2)
  • RFC 6298:TCP 重传计时器

相关工具

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