温馨提示×

debian backlog怎么清理

小樊
43
2026-09-01 01:28:06
栏目: 智能运维

在 Debian 里“backlog”通常指 网络连接的半连接/全连接队列(listen backlog),或者有时也指 系统/服务积压的任务(如打印队列、邮件队列、systemd 任务)。下面分情况说明怎么“清理”。


一、网络 listen backlog(最常见含义)

1. 查看当前 backlog 情况

ss -lnt

关注 Recv-QSend-Q

  • Recv-Q:当前已完成连接但未被应用 accept 的数量
  • Send-Q:backlog 上限

示例:

LISTEN 0 128 0.0.0.0:80 0.0.0.0:*

128 就是当前 backlog 上限。

2. 调整 backlog(不是“清理”,而是扩容)

应用层(如 Nginx / Redis)要自己设置:

listen 80 backlog=1024;

系统层面:

sysctl -w net.core.somaxconn=1024

永久生效:

echo "net.core.somaxconn=1024" >> /etc/sysctl.conf
sysctl -p

3. “清理”积压连接

如果是因为 应用卡死 导致 backlog 堆积:

  • 重启服务
systemctl restart nginx
  • 或杀掉异常连接
ss -nt state established '( dport = :80 )' | awk 'NR>1 {print $4}' | xargs -r kill

二、systemd 任务 backlog(任务堆积)

查看失败/卡住的任务

systemctl list-units --state=failed

清理失败单元

systemctl reset-failed

三、打印队列 backlog(CUPS)

lpstat -o
cancel -a

四、邮件队列 backlog(Postfix)

postqueue -p
postsuper -d ALL

五、APT / 软件包 backlog

如果是“更新积压”:

apt update
apt upgrade
apt autoremove

总结

类型 清理方式
网络 backlog 扩容 somaxconn / 重启服务
systemd systemctl reset-failed
打印 cancel -a
邮件 postsuper -d ALL
软件包 apt upgrade

如果你说的 backlog 是某个具体服务(如 Nginx、Kafka、RabbitMQ),告诉我服务名,我可以给更精确的清理方法。

0