Linux中的backlog通常指网络连接待处理队列或任务积压,清理方法需根据具体场景选择:
查看backlog状态
ss -lnt或netstat -lnt查看监听套接字的backlog值。ethtool -G <网卡名>查看网卡接收/发送队列大小。调整backlog大小
sudo sysctl -w net.core.somaxconn=新值(如4096)。/etc/sysctl.conf,添加net.core.somaxconn=新值,执行sudo sysctl -p生效。清理异常连接
TIME_WAIT状态的连接(谨慎操作):ss -ltnp | grep TIME_WAIT | awk '{print $5}' | xargs -I {} kill -9 {}。sudo systemctl restart networking或sudo service network restart。清理定时任务积压
atq查看待执行任务,atrm <任务ID>删除指定任务,atrm -r清除所有任务。清理系统日志
journalctl管理日志:journalctl --vacuum-size=100M(保留100MB日志)。logrotate配置日志轮转(需编辑/etc/logrotate.conf)。top、htop、tcpdump等工具定位积压原因,针对性优化。注意:操作前建议备份重要数据,部分命令(如kill)可能影响服务稳定性,建议在测试环境验证。