在 Debian(以及大多数 Linux 发行版)里,backlog 这个词通常出现在两个场景里,先确认你指的是哪一个:
如果你说的是 socket 的 backlog(连接队列长度),比如:
listen(sockfd, backlog);
backlog 是由 应用程序调用 listen() 时指定的,例如:
listen 80 backlog=1024;tcp-backlog 511listen(fd, 128)⚠️ 注意:内核会取
min(应用backlog, /proc/sys/net/core/somaxconn)
Debian 上修改系统级 backlog 上限:
# 查看
cat /proc/sys/net/core/somaxconn
cat /proc/sys/net/ipv4/tcp_max_syn_backlog
# 临时修改
sysctl -w net.core.somaxconn=1024
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
# 永久生效
sudo vim /etc/sysctl.conf
添加:
net.core.somaxconn = 1024
net.ipv4.tcp_max_syn_backlog = 2048
然后:
sysctl -p
如果你说的是 Debian 更新或任务 backlog(比如 apt 卡住、升级积压):
apt list --upgradable
sudo apt update
sudo apt upgrade
sudo dpkg --configure -a
sudo apt -f install
如果你说的是 systemd 的任务积压:
systemctl list-jobs
清理卡住任务:
systemctl reset-failed
我可以给你精确配置示例。