CentOS中“backlog”通常指TCP连接队列或系统资源堆积问题,清理方法可从内核参数调整、系统资源清理、服务优化三方面入手,具体如下:
通过修改/etc/sysctl.conf永久生效,或用sysctl -w临时调整:
# 修改全连接队列最大长度(需结合应用层backlog参数) echo "net.core.somaxconn=65535" >> /etc/sysctl.conf # 修改SYN半连接队列最大长度(防范SYN Flood) echo "net.ipv4.tcp_max_syn_backlog=65535" >> /etc/sysctl.conf sudo sysctl -p echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf sudo sysctl -p # 清空指定日志文件(如Nginx/Apache) truncate -s 0 /var/log/nginx/access.log # 或使用logrotate轮转日志 logrotate /etc/logrotate.conf rm -rf /tmp/* /var/tmp/* yum clean all rm -rf /var/cache/yum/* listen参数的backlog值(需≤内核somaxconn):listen 80 backlog=4096; systemctl restart nginx/your-service ss -lnt | awk '{print $4, $2}' | sort -k2 -nr # 查看监听端口队列占用 sysctl net.core.somaxconn # 查看当前内核参数 注意:修改前建议备份配置文件,生产环境需先在测试环境验证,避免因参数不当导致服务异常。