在 Debian(以及一般的 Linux 系统)里,backlog 本身不会“无缘无故”丢失,但具体会不会丢,要看你说的 backlog 指什么、以及 使用场景。
下面分几种常见情况说:
如果你指的是:
listen(sockfd, backlog);
或
ss -lnt
# Send-Q 就是当前 listen backlog
tcp_abort_on_overflow 被 RSTcat /proc/sys/net/ipv4/tcp_max_syn_backlog
cat /proc/sys/net/core/somaxconn
cat /proc/sys/net/ipv4/tcp_abort_on_overflow
⚠️ Debian 上:
listen() 的 backlog 会被 somaxconn 限制min(backlog, somaxconn)如果你说的是:
Storage=volatile查看:
journalctl -u xxx
例如:
Debian 的 backlog 不会自动丢失,但:
- 网络 backlog 满 → 新连接丢
- 内存中的 backlog → 断电/崩溃丢
- 磁盘/journal → 一般不丢
如果你能说清楚:
我可以给你更精确的答案。