CentOS backlog处理工具与方案
一、概念澄清
二、网络与内核连接队列工具
cat /proc/sys/net/core/somaxconnecho 2048 > /proc/sys/net/core/somaxconnnet.core.somaxconn = 2048 后执行 sysctl -pnet.core.somaxconn:listen() 的全连接队列上限,默认常见为 128,高并发服务可调至 8192 或更高(受应用 backlog 与内存约束)。net.ipv4.tcp_max_syn_backlog:半开连接(SYN 队列)长度,默认常见 1024,可调至 16384。net.core.netdev_max_backlog:网卡接收队列长度,默认 1000,重负载可调至 16384。net.ipv4.tcp_tw_reuse:允许复用 TIME_WAIT 套接字,缓解端口/队列压力(在 NAT/负载均衡等环境谨慎启用)。net.ipv4.tcp_syncookies:SYN 洪泛时启用 syncookies,作为队列溢出时的兜底策略。ss -lnt | grep :<端口>、netstat -napt | grep LISTEN(观察 Recv-Q/发送队列是否堆积)。三、审计日志 auditd 的 backlog 处理
auditctl -s(含 backlog_limit 等)auditctl -b 8192(示例值,建议为内存页大小的整数倍,先确认 getconf PAGE_SIZE)-b 8192 -f 1(示例:设置缓冲并启用失败日志级别),或使用 /etc/rc.local 在开机时执行 auditctl -b 8192(确保 rc.local 可执行)。ausearch:按条件检索审计日志aureport:生成审计统计/报表四、日志与磁盘空间清理工具(缓解因日志占满导致的间接 backlog 问题)
yum clean all、dnf clean all(CentOS 8+)ncdu 扫描并清理大文件/目录/tmp、/var/tmp 清理package-cleanup 安全移除journalctl -u <service>、tail -f /var/log/messages、less /var/log/messages | grep "ERROR"。